pytest 小记 - pytest.main

一、简介

在pytest框架也有一个入口,那就是 pytest.main(),可以作为用例执行入口,下面我们对pytest.main()进行讲解。

image.png

重点参数说明 args
:param args: List of command line arguments.

翻译 :参数 args:就是参数传入已列表的方式

main() 命令行参数详情
-s: 显示程序中的print/logging输出
-v: 丰富信息模式, 输出更详细的用例执行信息
-q: 安静模式, 不输出环境信息
-x: 出现一条测试用例失败就退出测试。调试阶段非常有用
-k:可以使用and、not、or等逻辑运算符,区分:匹配范围(文件名、类名、函数名)

当不传入参数时,相当于命令行输入 pytest。
当传入参数 -s -v -x 时,相当于命令行输入 pytest -s -v -x。

二、使用

1. pytest的两种运行模式,一种是命令行运行,另外一种是调用pytest.main() 运行

2. pytest.main() 运行模式时,不添加任何参数,表示运行当前目录下的所有的测试文件;

2.1 main()方法中不填写任何参数,表示运行当前目录下的所有的测试文件;

2.2 添加参数:pytest.main(['-s','-v','-k "print"',''])

(1)‘-s’:关闭捕捉,输出打印信息;----就是运行的时候是否出入代码里边的一些打印信息,比如你的测试代码里边包含了print语句,则print的内容会显示出来;如果不填写该参数,则print语句的值不会        打印出来
    (2)‘-v’:用于增加测试用例的冗长。---没太看懂到底代表啥意思,等看懂了再补充上,这是复制的别人的
    (3)‘-k’ :运行包含某个字符串的测试用例。如:pytest -k add XX.py 表示运行XX.py中包含add的测试用例。
    (4)‘q’:减少测试的运行冗长。
    (5)‘-x’:出现一条测试用例失败就退出测试。在调试阶段非常有用,当测试用例失败时,应该先调试通过,而不是继续执行测试用例

2.3 要执行测试用例的过滤方法:

(1)指定某个测试类或测试方法,用“::”隔开。如:命令格式:pytest 文件名.py::测试方法 ,pytest.main([模块.py::类或方法]) ,pytest 文件名.py::测试类::测试方法 ,pytest.main([模块.py::类::方法])

3. python文件中包含如下代码,则可运行当前目录下,的测试类或者测试方法(以test_开头或者以test结尾的类.py文件,以test_开头的测试方法,具体可参照配置文件),同时使用到多个参数时,格式如下:  
if name =="main":
pytest.main(['-s','-k print', 'add/test_second.py::test_noprint_cock'])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容