pytest指定用例_pytest测试框架从入门到精通

pytest指定用例_pytest测试框架从入门到精通前言测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果.有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

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

安装依赖包

pip3 install pytest-ordering

 

小例子

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

import pytest


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


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


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

运行结果

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 插件后改变测试用例顺序

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

运行结果

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 ===============================

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165993.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • encode和decode的区别 java_inputstream读取文件

    encode和decode的区别 java_inputstream读取文件encode()和decode()decode英文意思是解码,encode英文原意编码字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.d…

  • DBeaver – 一款免费开源的通用数据库工具

    DBeaver – 一款免费开源的通用数据库工具DBeaver是一款免费开源的通用数据库管理和开发工具。DBeaver基于Java开发,可以运行在各种操作系统上。通过JDBC连接到数据库,它可以支持几乎所有的数据库产品。还等什么,下载使用吧!

  • 为什么pycharm找不到模块_pycharm project interpreter

    为什么pycharm找不到模块_pycharm project interpreter如果要连接服务器的话,是需要在deployment里进行操作的,但是有时候不管怎么找,在Pycharm中都找不到。(PS:我就遇到了这样的问题)其实原因很简单,你装的Pycharm可能是社区版,不具有远程连接服务器的功能,只需要下载一个专业版就行。用学生账号免费使用专业版的方法可参照这个:https://blog.csdn.net/weixin_45459911/article/details…

  • controller是什么意思_Controller注解

    controller是什么意思_Controller注解一、简介在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一

  • 遗传算法优化bp神经网络matlab代码_神经网络进化算法

    遗传算法优化bp神经网络matlab代码_神经网络进化算法最近在学遗传算法优化BP神经网络,从新浪博客,Matlab中文论坛以及《MATLAB神经网络43个案例分析》里看了许多资料,存在着缺少test函数,以及函数名调用错误等问题。自编了test函数,调整后,供大家参考,(在Matlab2006a亲测可行)。参考文献:《MATLAB神经网络的43个案例分析》王小川,史峰,郁磊等,北京航空航天大学出版社。flyingnosky的sina博…

  • 使用docker部署项目_mysql的使用

    使用docker部署项目_mysql的使用在Docker下部署MySQL

    2022年10月19日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号