我有一个测试套件,它是一个类,每个测试方法都是一个测试用例。对于每种方法(测试用例),我也都有一个固定装置,它们可以完成一些基本的工作。我有一个奇怪的要求,如果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中执行此操作
答案 0 :(得分:1)
pytest allows you通过使用x
标志来实现:
pytest -x
如果您希望在退出前自定义失败次数,也可以使用maxfail
标志:
--maxfail=NUMBER
如果需要从代码中退出测试套件,可以使用exit
方法:
import pytest
pytest.exit()