按顺序执行pytest

时间:2015-12-29 05:24:37

标签: 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

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

1 个答案:

答案 0 :(得分:5)

我认为项目维护者没有太多时间来支持该项目:last update是5个月前,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