首页 > 编程语言 >Python pytest.main()运行测试用例

Python pytest.main()运行测试用例

时间:2024-01-03 10:32:40浏览次数:36  
标签:Python study py pytest 测试用例 test 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地址 ")
if __name__ == '__main__':
# 通过 plugins 参数指定加载
pytest.main(['-s', '-v', 'test_77.py'], plugins=[MyPlugin()])

标签:Python,study,py,pytest,测试用例,test,main
From: https://blog.51cto.com/u_15333581/9079067

相关文章

  • Python模块之hashlib模块
    hashlib模块【一】概要hashlib模块是Python中提供对哈希算法的支持的模块。它提供了常见的哈希算法,如MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,以及一些其他哈希算法。【二】常见用法计算哈希值:hashlib.md5():创建一个MD5哈希对象。hashlib.sha1():创......
  • 【小沐学写作】PPT、PDF文件添加水印(Python)
    1、简介水印通常用于保护文档或指定其所有权。另一方面,它们用于显示文档的状态,例如手稿、草稿等。在本文中,我们将演示如何在PowerPoint演示文稿中插入水印。您将学习如何在Python中为PowerPointPPT幻灯片添加文本或图像水印。2、ppt添加水印2.1PowerPoint幻灯片母版htt......
  • 微软的一些公开课,Python、机器学习、SQL、AI,全部免费
    大家好,我是老章,刷X看到一位博主AlifHossain⚡@alifcoder总结了微软的一些公开课,全部免费,蛮不错的。感兴趣可以学一波,还能领徽章。1.机器学习简介本课程是学习机器学习基础知识和用例的好方法。→11个模块→2.5小时→适合初学者→免费徽章链接:https://learn.micros......
  • python之bytes与str互转
    fromhex()bytes.fromhex()是一个内置函数,用于从十六进制字符串创建字节串(bytes)对象。fromhex()方法接受一个十六进制字符串作为输入,并将其转换为对应的字节串。输入的十六进制字符串可以包含数字0-9和小写字母a-f(或大写字母A-F)。以下是使用bytes.fromhex()的示例代码:hex_stri......
  • python初试七
    前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。但都是使用pythonmanage.pyrunserver来运行服务器。这是一个实验性的web服务器,不适用于正常的站点运行。我们需要一个可以稳定而持续的服务器。这个服务器负责监听http端口,将收到的请求交给Django处理,将Django......
  • Python+Selenium实现UI自动化
    自动化测试:自动化测试是把以人为驱动的测试行为转化成机器执行的一种过程,通常在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较,再此过程中,为了节省人力,时间或硬件资源,提高测试效率,便引用了自动化测试的概念Selenium:是......
  • Python爬虫 - 使用代理IP池维护虚拟用户
    在进行Web爬取时,使用代理IP是一种常见的策略,它可以帮助我们隐藏真实IP地址,绕过网站的访问限制,提高爬取效率。本文将介绍如何使用代理IP池维护虚拟用户,以在爬取过程中保持匿名性和稳定性。一、什么是代理IP池?代理IP池是一个包含多个代理IP的集合。这些代理IP通常是从公开或付费的代......
  • Python中怎么读取列表中某个值?
    Python中的列表是一种常见的数据结构,它可以存储同一类型或不同类型的数据。列表是Python中最常用的数据结构之一,可以简单地理解为一个由一系列元素组成的有序集合。那么Python中怎么读取列表中某个值?以下是具体内容介绍。1、使用in操作符Python中的in操作符可以用来检......
  • Python字符串操作:获取子序列的方法详解
    在Python中,处理字符串是一项常见的任务,其中一个常见的需求是从一个字符串中获取某一特定的子序列。这个子序列可以是一个连续的子字符串,也可以是不连续的一组字符。在这篇文章中,我们将探讨在Python中获取子序列的几种常见方法。1.切片操作Python中的切片操作是获取子序列的一种简便......
  • 使用Python找到和删除相似文件的方法
    在处理大量文件时,经常会遇到需要找到和删除相似文件的情况。本文将介绍如何使用Python编程语言来实现这一任务,以帮助提高文件管理的效率。导入必要的库我们首先需要导入以下两个Python标准库:importosimportfilecmpos库用于文件操作,包括获取文件路径、判断文件是否存在等功能。f......