pytest指定用例_电脑文件怎么自定义排序

2022-09-16 10:50:44 浏览数 (1)

前言

测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果. 有些同学在写用例的时候,用例写了先后顺序, 有先后顺序后,后面还会有新的问题(如:上个用例返回数据作为下个用例传参,等等一系列的问题。。。) github 上有个pytest-ordering插件可以控制用例的执行顺序,github插件地址https://github.com/ftobia/pytest-ordering

安装依赖包

代码语言:javascript复制
pip3 install pytest-ordering

小例子

先看pytest默认的执行顺序,是按 test_ording.py 文件写的用例先后顺序执行的

代码语言:javascript复制
import pytest


def test_1():
    print("用例1")
    assert True


def test_2():
    print("用例2")
    assert True


def test_3():
    print("用例3")
    assert True

运行结果

代码语言:javascript复制
collecting ... collected 3 items

test_1.py::test_1 PASSED                                                 [ 33%]用例1

test_1.py::test_2 PASSED                                                 [ 66%]用例2

test_1.py::test_3 PASSED                                                 [100%]用例3


============================== 3 passed in 0.02s ===============================

使用 pytest-ordering 插件后改变测试用例顺序

代码语言:javascript复制
import pytest


@pytest.mark.run(order=3)
def test_1():
    print("用例1")
    assert True


@pytest.mark.run(order=1)
def test_2():
    print("用例2")
    assert True


@pytest.mark.run(order=2)
def test_3():
    print("用例3")
    assert True

运行结果

代码语言:javascript复制
collecting ... collected 3 items

test_1.py::test_2 PASSED                                                 [ 33%]用例2

test_1.py::test_3 PASSED                                                 [ 66%]用例3

test_1.py::test_1 PASSED                                                 [100%]用例1


============================== 3 passed in 0.02s ===============================

这样就是按指定的顺序执行的用例

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166333.html原文链接:https://javaforall.cn

0 人点赞