gpt4 book ai didi

python - 如何在 pytest 中将单元测试和集成测试分开

转载 作者:太空狗 更新时间:2023-10-29 21:25:20 29 4
gpt4 key购买 nike

根据 Wikipedia和各种articles最佳做法是将测试分为单元测试(首先运行)和集成测试(第二运行),其中单元测试通常非常快并且应该在 CI 环境中的每个构建中运行,但是集成测试需要更长的时间才能运行并且应该更像是每天运行。

有没有办法在pytest中划分这些?大多数项目似乎没有多个测试文件夹,所以有没有办法确保我根据情况(CI 与每日构建)只运行单元、集成或两者?在计算测试覆盖率时,我假设我必须同时运行两者。

在尝试将测试划分为这些类别时,我是否采用了正确的方法?是否有某个项目的一个很好的例子已经做到了这一点?

最佳答案

是的,您可以使用 pytest.mark 装饰器标记测试。

例子:

def unit_test_1():
# assert here

def unit_test_2():
# assert here

@pytest.mark.integtest
def integration_test():
# assert here

现在,您可以从命令行运行 pytest -m "not integtest" 仅用于单元测试,pytest -m integtest 仅用于集成测试和普通的 pytest

(如果你愿意,你也可以用 pytest.mark.unit 装饰你的单元测试,但我觉得这有点乏味/冗长)

参见 documentation获取更多信息。

关于python - 如何在 pytest 中将单元测试和集成测试分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54898578/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com