pytest指定用例_pytest执行多个py文件

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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/165261.html原文链接:https://javaforall.net

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


相关推荐

  • html script 换行,JavaScript中怎么换行

    html script 换行,JavaScript中怎么换行js中换行的方法:1、使用【\n】换行符,代码为【alert(“第一行\n第二行”)】;2、使用【\r】换行符,代码为【alert(“第一行\r第二行”)】;3、使用HTML的【】标签。本教程操作环境:windows7系统、javascript1.8.5版,DELLG3电脑。JavaScript中换行的方法:方法1:使用换行符1、\n换行符在JavaScript中我们可以直接在要换行的地方使用\…

    2022年10月24日
  • JAVA中读写文件操作

    JAVA中读写文件操作java文件读取有两种类型,我这里的是字节流的读取操作packagetest1;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importja…

    2022年7月14日
  • mysql存储过程学习笔记[通俗易懂]

    mysql存储过程学习笔记[通俗易懂]本文主要记录了本人学习mysql存储过程时的笔记,文档中用到的表结构在文档结尾处有说明。一、定义    存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。二、存储过程的特…

    2022年7月17日
  • 传统php用单例模式的作用大吗,一次生命周期走完不是进程就结束了嘛?[通俗易懂]

    传统php用单例模式的作用大吗,一次生命周期走完不是进程就结束了嘛?

    2022年2月12日
  • String数组的创建

    String数组的创建string数组的定义有三种写法:String[]arr=newString[10];//创建一个长度为10的String类型数组。Stringarr[]=newString[10];Stringarr[]={“张三”,”李四”};前面两种写法是一样的,可以互换,但是建议使用前者String[]arr因为java是强类型语言,声明…

    2022年6月7日
  • BufferedWriter写入

    BufferedWriter写入带有缓存区的字符输出流BufferedWriter:带有缓存的字符输出流。packagecom;importjava.io.*;/***BufferedWriter:带有缓存的字符输出流。*/publicclasstest{publicstaticvoidmain(String[]args){//带有缓存区的字符输出流BufferedWriterout=null;try{

    2022年5月1日

发表回复

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

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