如何找到测试使用的设备?

2024-04-24 22:46:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据他们使用的设备自动标记测试。例如,如果一个测试使用一个名为spark的fixture,我想添加一个名为uses_spark的标记,这样我就可以自动忽略它们。你知道吗

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

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?你知道吗


Tags: inpy标记forifpytestdefitems
1条回答
网友
1楼 · 发布于 2024-04-24 22:46:54

每个项都在fixturenames属性中存储已用装置的列表。因此,检查非常简单:

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

相关问题 更多 >