3

-m调用 pytest 时可以使用参数仅运行由某个标记标记的测试。

例如pytest -m testsubset_a

我想知道......是否也可以从代码内部启用这些标记之一?例如,在某处pytest_collection_modifyitems()

我问的原因是因为我正在开发一个测试工具,它将使用 pytest 标记来启用特定的测试子集,但过去没有这样做。由于我们希望向后兼容,因此我想在未-m给出参数时启用默认子集(标记)。

4

1 回答 1

3

您可以-m使用config.option.markerexpr.

所以......在没有通过任何选项时默认设置就像

def pytest_collection_modifyitems(config):
    if config.option.markerexpr == "":
        config.option.markerexpr == "mydefaultmarker"
于 2021-02-25T15:34:17.517 回答