Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果不满足基本要求,如何防止py.tests运行?_Python_Unit Testing_Pytest - Fatal编程技术网

Python 如果不满足基本要求,如何防止py.tests运行?

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

我正在寻找一种方法来防止在无法联系到所需的测试服务器时执行测试

必须能够在开始执行测试之前检测到这一点,并尽快失败

测试使用py.test或调用py.test的tox运行

我确实有一段代码可以检测测试服务器是否已启动,但我不知道应该将其放在哪个位置


最初我假设这是一个全局固定装置,但这并不完全正确,因为这意味着将为每个测试运行,而我想要的是根本不运行它们。

我使用
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'
看更多