鉴于此测试套件:
import unittest
class unittestDex(unittest.TestCase):
def test_page1(self):
pass
def test_page2(self):
pass
def test_page3_isCritical(self):
#I am passing isCritical variable as boolean, this will be received after the test is executed, true/false
if isCritical == True:
#stop the whole execution, test_page4 shoudn't run anymore
def test_page4(self):
pass
@staticmethod
def main():
suite = unittest.TestSuite()
suite.addTest(unittestDex(metname='test_page1')
suite.addTest(unittestDex(metname='test_page2')
suite.addTest(unittestDex(metname='test_page3')
suite.addTest(unittestDex(metname='test_page4')
unittest.TextTestRunner(verbosity=2).run(suite)
if __name__ == "__main__":
main()
如果满足关键条件,是否有办法以某种方式停止套件运行? 基本上,我是问是否有人找到了停止测试套件运行的方法
This解决方案对我来说并不实用,因为它以某种方式将所有测试合并在一起并作为一个单元运行,我不希望:
已尝试pytest.exit('Test suit exited manually') and raise Exception
但测试并没有停止执行,下一个测试方法将在之后立即启动
您可以使用pytest-x在第一次失败后停止测试套件。 可以使用maxfail=num配置该值,其中num是故障数
相关问题 更多 >
编程相关推荐