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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux使用vi编辑文件 出现E325:ATTENTION错误

    Linux使用vi编辑文件 出现E325:ATTENTION错误先贴一下错误提示E325:ATTENTIONFoundaswapfilebythename".nginx.conf.default.swp"ownedby:rootdated:SatApr508:11:442014filename:/opt/nginx/conf/nginx.confmodified:YESusername:roo…

    2022年5月19日
    54
  • 【Java集合 1】java集合有哪些

    【Java集合 1】java集合有哪些一、数组Array和集合的区别1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)2、JAVA集合可以存储和操作数目不固定的一组数据。3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 注:使用相应的toArray()和Arrays.asList()方法可以相互转换。二、Java集合集合类存放于Java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是

    2022年7月7日
    23
  • ELK 收集 Tomcat 日志「建议收藏」

    ELK 收集 Tomcat 日志「建议收藏」01Tomcat安装与测试1.1安装Tomcat安装Tomcat的本体和相关官方测试demo,参考链接apt-getinstalltomcat8-y#安装Tomcat本体apt-getinstalltomcat8-docstomcat8-examplestomcat8-admin-y#安装测试demo1.2Tomcat启动检查systemctlstarttomcat8#启动Tomcatsystemctlstatustomcat8netstat

    2022年6月20日
    26
  • linux chmod 755

    linux chmod 755chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他用户的权限第三个数字表示其它用户组的权限。权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。所以,ch…

    2022年7月16日
    24
  • Django(14)模型中常用的属性(超详细)[通俗易懂]

    Django(14)模型中常用的属性(超详细)[通俗易懂]模型中常用字段字段说明AutoField一般不需要使用这个类型,自增长类型,数据表的字段类型为整数,长度为11位BigAutoField自增长类型,数据表的字段类型为bigint,长度为2

    2022年8月7日
    1
  • 对比java和python对比「建议收藏」

    对比java和python对比「建议收藏」1.难易度而言。python远远简单于java。  2.开发速度。Python远优于java  3.运行速度。java远优于标准python,pypy和cython可以追赶java,但是两者都没有成熟到可以做项目的程度。  4.可用资源。java一抓一大把,python很少很少,尤其是中文资源。  5.稳定程度。python3和2不兼容,造成了一定程度上的混乱以及大批类库失效。ja

    2022年7月8日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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