python - 如果固定装置在 pytest 中失败,则跳过测试套件

标签 python pytest

我有一个测试套件,它是一个类,每个测试方法都是一个测试用例。我还为每个方法(测试用例)提供了一个固定装置,它可以执行一些基本操作。我有一个奇怪的要求,如果 testfixture 失败,我想跳过测试套件中的所有测试用例。

下面是我拥有的示例套件

class TestFeature:
    @pytest.fixture(scope="function", autouse=True)
    def _wrapper(self):
        print("Some precomditions")
        yield
        print("some post conditions")

    def test_first_testcase(self):
        print("First testcas")

    def test_second_testcase(self):
        print("second testcas")

    def test_third_testcase(self):
        print("Third testcas")

现在我想如果我的装置失败,我想中止这个测试套件。假设我的第一个测试用例失败了。下一个测试用例的修复失败。我想中止该套件并且不想执行第三个测试用例。

如何在 pytest 中执行此操作

最佳答案

pytest allows you使用 x 标志来做到这一点:

pytest -x

如果您希望在退出前自定义失败次数,也可以使用 maxfail 标志:

--maxfail=NUMBER

如果您需要从代码中退出测试套件,您可以使用 exit方法:

import pytest

pytest.exit()

关于python - 如果固定装置在 pytest 中失败,则跳过测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396628/

相关文章:

python - Flask 保持实时服务器用于测试(Selenium)

python - 在pytest中,如何确保在类级之前调用模块级 fixture

python - 如何在导入时忽略某些Python模块?

django - 如何覆盖 Django 测试中的数据库设置?

python - 结果为 append 到列表的多处理 for 循环

python - 如何从外部函数中断循环

python - 具有相同键集的多个字典

python - 使用 subprocess.Popen 应用环境变量

python-3.x - 我们如何简单地抑制 pytest 中的日志错误消息

python - 如何将 kivy 中的下拉列表与主按钮中心对齐?