xfail pytest从命令行进行测试



我有一个测试套件,我需要将一些测试标记为xfail,但是我不能编辑测试函数本身来添加标记。是否可以使用pytest从命令行指定某些测试应该是xfail ?或者除此之外,至少通过在pytest.ini或conf .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过滤。

最新更新