假设我有一个夹具fixture1
,我希望能够从pytest命令行跳过所有使用此夹具的测试。
我找到了this排队的答案,但我决定采用不同的方式。
我通过在fixture1
using_fixture1
和conftest.py
标记的所有测试
def pytest_collection_modifyitems(items):
for item in items:
try:
fixtures=item.fixturenames
if 'fixture1' in fixtures:
item.add_marker(pytest.mark.using_fixture1)
except:
pass
然后,当运行pytest时,我使用:py.test tests -m "not using_fixture1"
。
所以真正的问题应该是:有没有更好的方法来解决这个问题?