Python 如果不满足基本要求,如何防止py.tests运行?
我正在寻找一种方法来防止在无法联系到所需的测试服务器时执行测试 必须能够在开始执行测试之前检测到这一点,并尽快失败 测试使用py.test或调用py.test的tox运行 我确实有一段代码可以检测测试服务器是否已启动,但我不知道应该将其放在哪个位置Python 如果不满足基本要求,如何防止py.tests运行?,python,unit-testing,pytest,Python,Unit Testing,Pytest,我正在寻找一种方法来防止在无法联系到所需的测试服务器时执行测试 必须能够在开始执行测试之前检测到这一点,并尽快失败 测试使用py.test或调用py.test的tox运行 我确实有一段代码可以检测测试服务器是否已启动,但我不知道应该将其放在哪个位置 最初我假设这是一个全局固定装置,但这并不完全正确,因为这意味着将为每个测试运行,而我想要的是根本不运行它们。我使用skipif跳过测试 我有一个函数,它根据我需要的程序的可用性返回True或False: def have_gpg(): t
最初我假设这是一个全局固定装置,但这并不完全正确,因为这意味着将为每个测试运行,而我想要的是根本不运行它们。我使用
skipif
跳过测试
我有一个函数,它根据我需要的程序的可用性返回True或False:
def have_gpg():
try:
subprocess.call(['gpg', '--version'])
except subprocess.CalledProcessError:
return False
return True
如果GPG不存在,我需要跳过测试,我使用skipif:
@pytest.mark.skipif("not have_gpg()")
def test_gpg_decode(tmpdir):
...
assert out = 'test'
看更多