Python pytest.main()运行测试用例
作者:爱学习de测试小白 发布时间:2023-08-18 02:57:52
标签:pytest,测试,pytest,main()
前言
前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例
pytest.main()
args 传一个list对象,list 里面是多个命令行的参数
plugins 传一个list对象,list 里面是初始化的时候需注册的插件
不带参数运行
import pytest
# 等同于命令行执行 pytest
# 默认运行的是当前目录及子目录的所有文件夹的测试用例
pytest.main()
参数运行
-s: 显示程序中的 print/logging 输出
-v: 丰富信息模式, 输出更详细的用例执行信息
-k: 运行包含某个字符串的测试用例。如:pytest -k add XX.py 表示运行 XX.py 中包含 add 的测试用例。
-q: 简单输出模式, 不输出环境信息
-x: 出现一条测试用例失败就退出测试。在调试阶段非常有用,当测试用例失败时,应该先调试通过,而不是继续执行测试用例。
在命令行运行带上 -s 参数
pytest -s -x
pytest.main() 里面等价于
import pytest
# 带上-s参数
pytest.main(["-s","-x"])
指定测试用例
指定运行 study 文件夹下的全部用例
pytest study
pytest.main() 里面等价于
import pytest
# 运行指定文件夹目录
pytest.main(["study "])
运行指定的 study/test_77.py 下的全部用例
pytest study/test_77.py
pytest.main() 里面等价于
import pytest
# 运行指定py文件
pytest.main(["study/tset_77.py"])
运行指定的 study/test_77.py 下的某个用例
pytest study/test_77.py::tset_01
pytest.main() 里面等价于
import pytest
# 运行指定py文件下测试用例
pytest.main(["study/tset_77.py::test_01"])
指定plugins参数
# -*- coding: utf-8 -*-
import pytest
def test_01():
"""测试用例1"""
name = '小白'
age = 28
city = 'Beijing'
assert name == '小白'
assert age == 28
assert city == 'Beijing'
# 自定义插件
class MyPlugin(object):
def pytest_sessionstart(self):
print("*** test run start blog地址 https://blog.csdn.net/IT_heima")
if __name__ == '__main__':
# 通过 plugins 参数指定加载
pytest.main(['-s', '-v', 'test_77.py'], plugins=[MyPlugin()])
来源:https://blog.csdn.net/IT_heima/article/details/127459595


猜你喜欢
- vue常用内置指令<!DOCTYPE html><html lang="en"><head
- 我就废话不多说了,大家还是直接看代码吧~b = torch.zeros((3, 2, 6, 6))a = torch.zeros((3, 2
- 几个星期前,SQL Server 2016的最新CTP版本已经发布了:CTP 2.4(目前已经是CTP 3.0)。这个预览版相比以前的CTP
- 我就废话不多说,直接上代码吧!# -*- coding: utf-8 -*-import cv2import numpy as npfrom
- 安装:pip install wave在wav 模块中 ,主要介绍一种方法:getparams(),该方法返回的结果如下:_wave_par
- 第一:pandas.read_csv读取本地csv文件为数据框形式data=pd.read_csv('G:\data_operati
- 目录GC如何判断一个对象是否可达三色标记法原理如下如何学习GoGCGC全称Garbage Collection目前主流的垃圾回收算法有两类,
- 项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样
- 环境python3.6合并前第一个文件和第二个文件代码file1 = open("my.txt","r&quo
- k8s容器互联-flannel vxlan 原理篇容器系列文章容器系列视频vxlan 模式通信原理flannel 在为不同主机的pod分配i
- 一、写在前面从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 re
- 常用的转换函数是 cast 和 convert,用于把表达式得出的值的类型转换成另一个数据类型,如果转换失败,该函数抛出错误,导致整个事务回
- 密码规则:它至少包含 8 个字符,最多包含 20 个字符。它至少包含一个数字。它至少包含一个大写字母。它至少包含一个小写字母。它至少包含一个
- 随机生成四位数验证码,包括汉字,数字,英文大小写。1.Servlet类package servlet;import java.awt.Bas
- 规则:open(file_name[,access_mode][,buffering])参数说明file_name:、文件路径+文件名称,加
- 如下所示:var table_name = table.render({});page_size = table_name.config.l
- django中的超链接,在template中可以用{% url 'app_name:url_name' param%}其中a
- 计时器和延时器的概念 //--计时器 // 计时器ID号 setInterval(回调函数, 毫秒数); // 每隔指定毫秒数,调用一次回调
- 前言摘要这篇文章将介绍 GoFrame 通用类型变量gvar的概念,对比 interface{}的特点;以及如何设置gvar的并发安全开关等
- 实现如下需求:在PyQt界面上有一个控件,实现其可任意拖动,且鼠标释放时自动对齐到网格。1.控件任意拖动并对齐到网格如下按钮(尺寸100&a