按顺序执行pytest

Nag*_*nan 4 python pytest python-unittest

嗨,我正在检查" 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
Run Code Online (Sandbox Code Playgroud)

但执行仍然是随机的.有人可以让我知道如何解决它?

ale*_*cxe 5

我认为项目维护者没有太多时间来支持该项目了:上次更新是在5个月前,问题跟踪器充满了相关的已打开问题.其中一个与您的问题密切相关:


我实际上发现run(order=N)效果更好但不使用负索引 - 它们无法正常工作.以下适用于我:

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
Run Code Online (Sandbox Code Playgroud)

生产:

test.py::test_one PASSED
test.py::test_two PASSED
test.py::test_three PASSED
test.py::test_four PASSED
Run Code Online (Sandbox Code Playgroud)