除非存在参数,否则跳过 pytest

Skipping pytest unless a parameter is present

我想使用 unittest.skiptest 但只有在命令行给出参数时才跳过测试。这让我更容易进行集成测试。我该怎么做?

文档中充满了有用的信息。你会找到你要找的东西 here.

根本不需要使用skiptest。

基本上,只需使用 conftest.py 文件定义一个新的命令行选项,然后开始使用新注释标记测试。 注意:注释和参数可以不同..

您可以为此使用标记。您用标签标记任务,并使用 -m 命令行参数,您可以编写逻辑表达式(取消)选择 运行ning.

的测试
@pytest.mark.slowtest
def test_case1():
    pass

要跳过它,运行它是这样的:

py.test -m 'not slowtest'

文档:https://pytest.org/latest/example/markers.html