pytest-pytest.main()运行测试用例,pytest参数
本文介绍pytest.main运行测试用例的方法
pytest.main():main中传入不同的指令用以执行指定测试用例
-s: 显示程序中的print/logging输出
-v: 丰富信息模式, 输出更详细的用例执行信息
-q: 安静模式, 不输出环境信息
-k:关键字匹配,用and区分:匹配范围(文件名、类名、函数名)
示例
test_module1.py
def test_m1_1():print('这是 subpath1/test_module1.py::test_m1_1')assert 1==1def test_m1_2():print('这是 subpath1/test_module1.py::test_m1_2')assert 2==2def test_spec_1():print ('这是 subpath1/test_module1.py::test_spec_1')assert 2 == 2
test_module2.py
def test_m2_01():print('这是 subpath1/test_module1.py::test_m1_1')assert 1==1class TestM2():def test_m2_02(self):print ('这是 subpath2/test_module2.py::TestM2::test_m2_02')assert 1==1def test_pp(self):print ('这是 subpath2/test_module2.py::TestM2::test_pp')assert 1 == 1
maintest.py
import pytestif __name__ == '__main__':# 运行当前目录下所有(test_*.py 和 *_test.py)pytest.main()
运行结果:
============================= test session starts =============================
platform win32 -- Python 3.6.6rc1, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: E:\study\python\study\BasicKnowledgePoints\s5_frame\f001_pytest_用例运行
collected 6 itemssubpath1\test_module1.py ... [ 50%]
subpath2\test_module2.py ... [100%]============================== 6 passed in 0.15s ==============================
1、运行指定路径下的用例
pytest.main(['./']) # 运行./目录下所有(test_*.py 和 *_test.py)
pytest.main (['./subpath1']) # 运行./subpath1 目录下用例
pytest.main (['./subpath1/test_module1.py']) # 运行指定模块
pytest.main (['./subpath1/test_module1.py::test_m1_1']) # 运行模块中的指定用例
pytest.main (['./subpath2/test_module2.py::TestM2::test_m2_02']) # 运行类中的指定用例
pytest.main (['-k','pp']) # 匹配包含pp的用例(匹配目录名、模块名、类名、用例名)
pytest.main(['-k','spec','./subpath1/test_module1.py']) # 匹配test_module1.py模块下包含spec的用例
pytest.main(['-k','pp','./subpath2/test_module2.py::TestM2']) # 匹配TestM2类中包含pp的用例
2、运行参数
pytest.main(['-s','./subpath1/test_module1.py']) # -s: 显示程序中的print/logging输出
运行结果:
subpath1\test_module1.py 这是 subpath1/test_module1.py::test_m1_1
.这是 subpath1/test_module1.py::test_m1_2
.这是 subpath1/test_module1.py::test_spec_1
.
pytest.main(['-v','./subpath1/test_module1.py']) # -v: 丰富信息模式, 输出更详细的用例执行信息
运行结果:
subpath1/test_module1.py::test_m1_1 PASSED [ 33%]
subpath1/test_module1.py::test_m1_2 PASSED [ 66%]
subpath1/test_module1.py::test_spec_1 PASSED [100%]============================== 3 passed in 0.06s ==============================
pytest.main(['-q','./subpath1/test_module1.py']) # -q: 安静模式, 不输出环境信息
运行结果:
... [100%]
3 passed in 0.06s
pytest.main(['-v','-s','./subpath1/test_module1.py']) # 多个参数组合
运行结果:
subpath1/test_module1.py::test_m1_1 这是 subpath1/test_module1.py::test_m1_1
PASSED
subpath1/test_module1.py::test_m1_2 这是 subpath1/test_module1.py::test_m1_2
PASSED
subpath1/test_module1.py::test_spec_1 这是 subpath1/test_module1.py::test_spec_1
PASSED============================== 3 passed in 0.10s ==============================
pytest-pytest.main()运行测试用例,pytest参数相关推荐
- 【pytest】使用 mark 标记及运行测试用例,注册、管理 mark 标记
使用 @pytest.mark.xxx 标记测试用例: 可以标记测试方法.测试类,标记名可以自定义,最好起有意义的名字: 同一测试类/方法可同时拥有多个标记: # test_login_logout. ...
- Java多进程测试用例_Pytest xdist/Pytest并行多进程执行测试用例,pytestxdistpytestparallel...
如果想分布式执行用例,用例设计必须遵循以下原则: 1.用例之间都是独立的, 2.用例a不要去依赖用例b 3.用例执行没先后顺序, 4.随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其 ...
- Pytest之重运行及生成测试报告
VOL 156 09 2020-09 今天距2021年113天 这是ITester软件测试小栈第156次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- pytest-ordering:指定pytest的case运行顺序的插件
背景 在写接口或功能自动化case的时候,会遇到一些case有先后执行顺序的场景.比如:注册->登陆,先调用注册接口在数据库里面生成用户名和密码,然后使用登陆接口验证登陆. 在pytest里,如 ...
- Pytest跳过执行之@pytest.mark.skip()详解大全
一.skip介绍及运用 在我们自动化测试过程中,经常会遇到功能阻塞.功能未实现.环境等一系列外部因素问题导致的一些用例执行不了,这时我们就可以用到跳过skip用例,如果我们注释掉或删除掉,后面还要进行 ...
- pytest的使用和学习---pytest的安装和简单使用
pytest的使用和学习-pytest的安装和简单使用 文章目录 pytest的使用和学习---pytest的安装和简单使用 前言 一.pytest是什么? 二.安装步骤 三.简单使用 pytest ...
- 【pytest】(三) pytest中的fixture (2) : fixture的声明和调用
目录 1. fixture的声明 2. fixture的调用 2.1 fixture的调用方式 2.1.1 使用fixturename 2.1.2 使用`@pytest.mark.usefixture ...
- 【pytest】(二) pytest与unittest的比较
一. 为什么我用了pytest后就会喜欢上它 pytest的框架规范更自由 在使用unittest编写测试用例的时候,需要遵循先创建testclass,测试类继承unittest.TestCase的固 ...
- 【pytest】(四) pytest中的fixture (3) : fixture的作用域、实例化顺序和可用性
目录 1. fixture的作用域 1.1 scope 1.2 动态作用域(Dynamic scope) 2. fixture的实例化顺序 2.1 作用域级别高的fixture先执行 2.2 fixt ...
最新文章
- 你为什么“啃不动”你手中的技术书?
- a类不确定度计算器_统统帮您搞定:LIMS系统,换版、内审、期间核查、不确定度、数据分析…………...
- 关于android 1.6全部的权限介绍
- 熟练掌握Word2003中的突出显示功能
- 9月PMP考试起用新考纲,这些变化你了解了吗?
- Java扑克牌(洗牌Collections.shuffle)
- P2817 宋荣子的城堡
- WINDOWS 需要您的当前凭证
- js实现字体和容器宽高随窗口改变
- 简述用UCenter整合第三方应用程序
- 小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
- 【转】C++中的inline用法
- CGO磁盘管理For流星无语
- C#自定义数字格式字符串
- 被弃用的 Docker 未死:带着 1.05 亿美元融资“回归”,估值高达 21 亿
- Android中删除照片操作
- oracle安装出现乱码报错,oracle_oracle安装出现乱码等相关问题,安装oracle时候遇到错误 Preparing - phpStudy...
- 【NLP】揭秘马尔可夫模型神秘面纱系列文章(三)
- 吟诗作赋不能赚钱,作诗的AI机器人的盈利之路在哪
- python安装jupter在线ide
热门文章
- 出现错误1327!无效驱动器G的解决
- Spring AOP源码分析二
- vue手风琴组件_Vue 2的Badger手风琴组件
- PTA“值班安排”的题没有思路?速来,这里有附带详细注释的代码!
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
- 高级工程师面试 - MySQL
- python dll_python3.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
- 工信部关白玉处长详解“核高基”
- Gulp插件之gulp-babel和gulp-uglify关于js代码的转换和压缩
- SlackwareLinux的安装之您满意DOS的表现?(转)