如果特定的测试失败,则无法进行pytest测试

Asa*_*lik 5 python pytest jenkins

所以我有一个目录,里面填充了一堆用python编写的测试,并用正确的语法确保它们按顺序运行.

所以假设我有一个测试,如果失败,当前调用pytest.exit('Exit Message').这个问题是XML生成的测试输出只记录它之前的测试.我希望整个套件运行但如果上述测试失败则报告为失败.

我想到的解决方案是设置一个环境变量,以防它失败,然后在下面的测试中检查该环境变量.问题是用Jenkins运行它,没有检测到环境变量集,如果它存在,我更喜欢原生解决方案.

我有的是:

def test_check_connection(self):
    ...
    if Failed:
        pytest.exit('No connectivity')
Run Code Online (Sandbox Code Playgroud)

Can*_*ner 3

我不确定我是否正确理解你的问题。如果您想pytest在第一个失败的测试用例后停止,请使用该-x选项

pytest -x ...
Run Code Online (Sandbox Code Playgroud)

如果您想运行所有测试并想知道 jenkins 是否有任何失败,请检查 pytest 应用程序的退出代码:

运行 pytest 可能会产生六种不同的退出代码:

退出代码 0:所有测试均已收集并成功通过

退出代码 1:已收集并运行测试,但部分测试失败

退出代码 2:测试执行被用户中断

退出代码 3:执行测试时发生内部错误

退出代码4:pytest命令行使用错误

退出代码 5:未收集任何测试