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'])
|