【发布时间】:2013-03-28 02:16:29
【问题描述】:
我们有一个我们希望不会执行的标记测试,因为 py.test 是用另一个标记调用的,但测试正在执行。
例如
@pytest.mark.stress
def test_one(some_fixture):
pass
@pytest.mark.myplatform
def test_two(some_fixture):
pass
如果我使用 --collectonly -m "myplatform and (not stress)" 作为实验运行 pytest,我发现我可以解决这个问题。我假设使用夹具在某种程度上改变了评估标记的方式,但我们假设使用夹具不会影响使用标记收集测试的方式。夹具中有代码可以查看标记,但我们不会以任何方式更改 pytest 参数。
克里斯
【问题讨论】:
-
我无法重现此问题。
-m选项使用您上面的代码和一个空的some_fixture夹具为我正确收集每个测试。我正在使用 Python 2.7.5 和 pytest-2.5.2。你有更多信息吗? -
@user2249625 请试试我的回答stackoverflow.com/a/37583262/4988742,如果这对你有用,请告诉我。