【发布时间】:2021-10-16 06:29:00
【问题描述】:
我有一个测试套件,我需要将一些测试标记为 xfail,但我无法编辑测试函数本身来添加标记。是否可以使用 pytest 从命令行指定某些测试应该是 xfail ?或者除此之外,至少通过向 pytest.ini 或 conftest.py 添加一些内容?
【问题讨论】:
我有一个测试套件,我需要将一些测试标记为 xfail,但我无法编辑测试函数本身来添加标记。是否可以使用 pytest 从命令行指定某些测试应该是 xfail ?或者除此之外,至少通过向 pytest.ini 或 conftest.py 添加一些内容?
【问题讨论】:
我不知道执行此操作的命令行选项,但如果您可以过滤掉相应的测试,您可以实现 pytest_collection_modifyitems 并在这些测试中添加一个 xfail 标记:
conftest.py
names_to_be_xfailed = ("test_1", "test_3")
def pytest_collection_modifyitems(config, items):
for item in items:
if item.name in names_to_be_xfailed:
item.add_marker("xfail")
或者,如果名称不是唯一的,您也可以按 item.nodeid 过滤。
【讨论】:
conftest.py 必须在它所应用的测试的根路径中。