为了账号安全,请及时绑定邮箱和手机立即绑定

在使用 pytest 运行测试之前执行完整性检查

在使用 pytest 运行测试之前执行完整性检查

慕虎7371278 2021-10-26 10:31:28
我想在使用pytest. 通常,我想检查测试是否可以访问某些可执行文件,以及用户在命令行上提供的选项是否有效。我发现的最接近的事情是使用固定装置,例如:@pytest.fixture(scope="session", autouse=True)def sanity_check(request):  if not good:     sys.exit(0)但这仍然运行所有测试。我希望脚本在尝试运行测试之前失败。
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

您不需要显式验证命令行选项;这将由 arg 解析器完成,如有必要,它将提前中止执行。至于条件检查,您离解决方案不远了。用

  • pytest.exit 立即中止

  • pytest.skip 跳过所有测试

  • pytest.xfail 使所有测试失败(尽管这是预期的失败,因此它不会将整个执行标记为失败)

示例夹具:

@pytest.fixture(scope='session', autouse=True)

def precondition():

    if not shutil.which('spam'):

        # immediate shutdown

        pytest.exit('Install spam before running this test suite.')

        # or skip each test

        # pytest.skip('Install spam before running this test suite.')

        # or make it an expected failure

        # pytest.xfail('Install spam before running this test suite.')


查看完整回答
反对 回复 2021-10-26
  • 2 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信