pytest框架学习-测试用例发现机制以及用例执行命令
pytest是什么
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
Pytest安装
安装命令:
pip install -U pytest --index-url https://mirrors.aliyun.com/pypi/simple/
升级:
pip install --upgrade pytest --index-url https://mirrors.aliyun.com/pypi/simple/
查看已安装的pytest版本:
pip show pytest 或 pytest --version

Pytest的默认测试发现机制
PyTest有一个特别的设计,叫作测试用例自动发现(Test Discovery)机制,允许我们不指定具体的测试用例源文件,而是根据一些命名规则去自动发现测试用例源文件,以及在源文件中筛选待执行的测试函数。
测试文件:
PyTest默认从当前路径及其所有子目录中搜索py源文件,所有名字以test_开头或者以_test结尾的python源文件(.py文件)被认为是测试模块源文件,不符合这个命名规则的文件会被忽略。
测试类:
以Test*开头,并且不能带有_init_方法。
测试函数:
在测试模块源文件中,所有以“test”(注意是test,不是test_)开头的函数被PyTest认为是测试函数而被执行,不符合这个条件的函数会被忽略。
Pytest用例执行
(1)命令执行
在命令行进入到对应测试模块所在的目录,执行pytest命令,就可以开始执行用例。

执行pytest命令时可带参数,常用参数选项:
-s:显示程序中的 print/logging 输出
-v: 丰富信息模式, 输出更详细的用例执行信息
-k:运行包含某个字符串的测试用例。
-q: 简单输出模式, 不输出环境信息,只输出测试用例的执行结果
-x: 出现一条测试用例失败就退出测试。
pytest -s

pytest -v

pytest -k “normal”

pytest -q

pytest -x

使用pycharm执行
Pycharm配置,选择自动或者pytest


Pytest的测试发现机制可自定义
在项目根目录新建pytest.ini的文件,新增内容如下
修改为:
测试文件:
以demo_开头
测试类:
以Demo开头,并且不能带有_init_方法。
测试函数:
以demo开头


pytest框架学习-测试用例发现机制以及用例执行命令的更多相关文章
- pytest框架-介绍、Mark(打标签)、命令运行用例、用例执行顺序、
1.pytest介绍:基于unittest 之上的单元测试框架 1.1.自动发现测试模块和测试用例: unitest 需要添加用例,(泰斯特楼贷)加载器加载测试用例 pytest 只需要一条代码就可以 ...
- Pytest学习笔记(二) 用例执行规则
在用pytest执行用例时,可以按照如下场景来执行 1.执行目录及其子目录下的所有用例 pytest filename\ 2.执行某一个py文件下的用例 pytest filename.py 3.-k ...
- 【WPF学习】第三十二章 执行命令
前面章节已经对命令进行了深入分析,分析了基类和接口以及WPF提供的命令库.但尚未例举任何使用这些命令的例子. 如前所述,RoutedUICommand类没有任何硬编码的功能,而是只表达命令,为触发命令 ...
- python单元测试框架-unittest(三)之用例执行顺序
执行顺序规则: 测试类或测试方法的数字与字母顺序0~9,A-Z 执行如下脚本,理解用例执行顺序 #coding=utf-8 import unittest class Test1(unittest.T ...
- pytest框架之rerunfailures失败重运行机制
web自动化测试中,稳定性在整个测试运行中都至关重要,但不能保证测试脚本或者测试环境一直都能够稳定,它牵扯到诸多因素,在这里就不赘述,pytest框架相较于unittest的一大优势就在于拥有用例失败 ...
- 『德不孤』Pytest框架 — 4、Pytest跳过测试用例
目录 1.无条件跳过skip 2.有条件跳过skipif 3.练习 自动化测试执行过程中,我们常常出现这种情况:因为功能阻塞,未实现或者环境有问题等等原因,一些用例执行不了, 如果我们注释掉或删除掉这 ...
- 【Pytest02】全网最全最新的Pytest框架快速进阶篇(pytest前置和后置以及忽略测试用例)
一.Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 import unittest import pytest class TestCase(unittest.T ...
- 『德不孤』Pytest框架 — 6、Mark分组执行测试用例
目录 1.Pytest中的Mark介绍 2.Mark的使用 3.Mark的注册和使用 4.使用Mark完成失败重试 5.扩展 1.Pytest中的Mark介绍 Mark主要用于在测试用例/测试类中给用 ...
- 框架学习笔记:深度解析StrangeIoC内部运行机制
StrangeIoC的设计和RobotLegs一致,所以我的解析会对照RobotLegs来看. 整个框架使用的是MVCS的模式,关于MVCS模式大家可以点这里进行查看,这里就不谈了,既然Strange ...
- pytest框架之命令行参数1
前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...
随机推荐
- VisionPro学习笔记(4)——PatInspect
如果需要了解其他图像处理的文章,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice ...
- 使用Blazor WASM实现可取消的多文件带校验并发分片上传
前言 上传大文件时,原始HTTP文件上传功能可能会影响使用体验,此时使用分片上传功能可以有效避免原始上传的弊端.由于分片上传不是HTTP标准的一部分,所以只能自行开发相互配合的服务端和客户端.文件分片 ...
- ElasticSearch系列——文档操作
文章目录 Elasticsearch的增删查改(CURD) 一 CURD之Create 二 CURD之Update 三 CURD之Delete 四 CURD之Retrieve Elasticsearc ...
- Oracle中的substr()函数和INSTR()函数和mysql中substring_index函数字符截取函数用法:计算BOM系数用量拼接字符串*计算值方法
最近一直在研究计算产品BOM的成本系数,将拼接的元件用量拼接后拆分计算是个问题,后来受到大佬在mysql中截取字符串的启发在oracle中以substr和instr实现了 1.以下是我在mysql中 ...
- Spring Boot中发送邮件时,如何让发件人显示别名
之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件: 发送邮件 添加附件 引用静态资源 邮件模版 已经包含了大部分的应用场景.但最近DD在做YouTube中文配音的时候,碰到一个问 ...
- js数据结构--栈
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- Quartus 入门
转载请标明出处:https://www.cnblogs.com/leedsgarden/p/17790320.html 本文介绍的是Quartus的免费版,可以满足基本的教学需要 如果你用的是Xili ...
- k 分算法是 k 越大越好吗?
引入 我们有二分算法,就是: 定义 二分查找(英语:binary search),也称折半搜索(英语:half-interval search).对数搜索(英语:logarithmic search) ...
- C# WebBrowser document.execCommand()解析
// // Summary: // 对文档执行指定的命令. // // Parameters: ...
- Java 基础学习第一弹
1. equels和==的区别 equals方法用于比较对象的内容是否相等,可以根据自定义的逻辑来定义相等的条件,而==操作符用于比较对象的引用是否相等,即它们是否指向同一块内存地址.equals方法 ...