如何找到测试使用的灯具?

时间:2018-10-31 22:58:48

标签: python python-3.x pytest

我想根据测试使用的灯具自动标记测试。例如,如果测试使用名为spark的灯具,我想添加一个名为uses_spark的标记,以便我可以自动忽略它们。

我知道我可以在pytest_collection_modifyitems中使用conftest.py来添加标记。

def pytest_collection_modifyitems(items):
  for item in items:
    if uses_spark_fixture(item):
      item.add_marker(pytest.mark.spark)

def uses_spark_fixture(item):
  ???

如何实现uses_spark_fixture

1 个答案:

答案 0 :(得分:3)

每个项目在fixturenames属性中存储已用灯具的列表。因此检查非常简单:

def pytest_collection_modifyitems(items):
    for item in items:
        if 'spark_fixture' in item.fixturenames:
            item.add_marker(pytest.mark.spark)