Python 按顺序执行pytest

Python 按顺序执行pytest,python,pytest,python-unittest,Python,Pytest,Python Unittest,您好,我正在签出“”以按顺序执行pytest 我尝试了以下代码 import pytest @pytest.mark.order2 def test_foo(): assert True @pytest.mark.order1 def test_bar(): assert True 但执行仍然是随机的。有人能告诉我如何修复吗?我认为项目维护人员已经没有太多时间来支持该项目了:那是5个月前的事了,而且报告中充满了相关的未决问题。其中之一与您的问题密切相关: 实际上,我

您好,我正在签出“”以按顺序执行pytest

我尝试了以下代码

import pytest

@pytest.mark.order2
def test_foo():
    assert True

@pytest.mark.order1
def test_bar():
    assert True

但执行仍然是随机的。有人能告诉我如何修复吗?

我认为项目维护人员已经没有太多时间来支持该项目了:那是5个月前的事了,而且报告中充满了相关的未决问题。其中之一与您的问题密切相关:


实际上,我发现
运行(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
产生:

test.py::test_one PASSED
test.py::test_two PASSED
test.py::test_three PASSED
test.py::test_four PASSED

我有两个测试用例文件,分别是test_sample1.py和test_sample2.py,在每个文件中我使用setup_类和teardown_类。现在,如果我使用ordering,那么可能是文件,但它在所有测试用例文件中选择order1并首先执行它。有办法避免吗?