【问题标题】:Pytest-parallel executing test case twicePytest-并行执行测试用例两次
【发布时间】:2022-09-24 01:02:25
【问题描述】:

对于并行执行,我使用 pytest-parallel,它可以工作,但每个测试用例都执行两次

def test_2():
    assert 2==2

def test_3():
    assert 1 == 1

使用的命令

pytest -v -s test_file.py --workers auto

什么 auto 会触发与测试一样多的工作人员(每个测试用例的每个工作人员)

和结果

collected 2 items
pytest-parallel: 8 workers (processes), 1 test per worker (thread)

testing_parallel.py::test_2 PASSED
testing_parallel.py::test_2 PASSED
testing_parallel.py::test_3 PASSED
testing_parallel.py::test_3 PASSED

尝试过 --workers 2

collected 2 items
pytest-parallel: 2 workers (processes), 1 test per worker (thread)

testing_parallel.py::test_2
testing_parallel.py::test_3 PASSED
testing_parallel.py::test_2 PASSEDPASSED
testing_parallel.py::test_3 PASSED

这里只有测试用例,但每个测试用例执行两次

  • 试试--workers 2
  • 也试过了,没用

标签: python pytest pytest-parallel


【解决方案1】:

实际上,您的测试只执行一次。

问题是日志记录显示结果两次。

如果您尝试在代码中打印,您会看到它们只会在控制台中出现一次。

def test_2():
    print("Im running test 2")
    assert 2==2

def test_3():
    print("Im running test 3")
    assert 1 == 1

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多