按顺序执行pytest
Execute pytest in order
您好,我正在检查“http://pytest-ordering.readthedocs.org/en/develop/”以按顺序执行 pytest
我尝试了下面的代码,
import pytest
@pytest.mark.order2
def test_foo():
assert True
@pytest.mark.order1
def test_bar():
assert True
但执行仍然是随机的。有人可以告诉我如何解决吗?
我认为项目维护者没有太多时间支持该项目了:last update was 5 months ago and the issue tracker 充满了相关未解决的问题。其中之一与您的问题密切相关:
我实际上发现 run(order=N)
效果更好,但不要使用负索引 - 它们是 not going to work。以下对我有用:
import pytest
@pytest.mark.run(order=3)
def test_three():
assert True
@pytest.mark.run(order=4)
def test_four():
assert True
@pytest.mark.run(order=2)
def test_two():
assert True
@pytest.mark.run(order=1)
def test_one():
assert True
生产:
test.py::test_one PASSED
test.py::test_two PASSED
test.py::test_three PASSED
test.py::test_four PASSED
您好,我正在检查“http://pytest-ordering.readthedocs.org/en/develop/”以按顺序执行 pytest
我尝试了下面的代码,
import pytest
@pytest.mark.order2
def test_foo():
assert True
@pytest.mark.order1
def test_bar():
assert True
但执行仍然是随机的。有人可以告诉我如何解决吗?
我认为项目维护者没有太多时间支持该项目了:last update was 5 months ago and the issue tracker 充满了相关未解决的问题。其中之一与您的问题密切相关:
我实际上发现 run(order=N)
效果更好,但不要使用负索引 - 它们是 not going to work。以下对我有用:
import pytest
@pytest.mark.run(order=3)
def test_three():
assert True
@pytest.mark.run(order=4)
def test_four():
assert True
@pytest.mark.run(order=2)
def test_two():
assert True
@pytest.mark.run(order=1)
def test_one():
assert True
生产:
test.py::test_one PASSED
test.py::test_two PASSED
test.py::test_three PASSED
test.py::test_four PASSED