请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 112|回复: 0

pytest.main()的使用

[复制链接]

11

主题

11

帖子

74

积分

注册会员

Rank: 2

积分
74
发表于 2023-9-17 18:17:35 | 显示全部楼层 |阅读模式
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’:出现一条测试用例失败就退出测试。在调试阶段非常有用,当测试用例失败时,应该先调试通过,而不是继续执行测试用例
    (6)‘-n’:支持多线程或者分布式运行测试用例。如:pytest -vs ./testcase/test_login.py -n 2
    (7)‘--html’:测试报告位置
    (8)‘--reruns’:失败重跑
  2.3 要执行测试用例的过滤方法:
    (1)指定某个测试类或测试方法,用“::”隔开。如:命令格式:pytest 文件名.py::测试方法 ,pytest.main([模块.py::类或方法]) ,pytest 文件名.py::测试类::测试方法 ,pytest.main([模块.py::类::方法])
3. python文件中包含如下代码,则可运行当前目录下的测试类或者测试方法,同时使用到多个参数时,格式如下:  
if __name__ =="__main__":    pytest.main(['-s','-k print', 'add/test_second.py::test_noprint_cock'])

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-10-4 15:29 , Processed in 0.038626 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表