四、pytest运行方式
1.测试类主函数模式
pytest.main(["-s test_abc.py"])
2.命令行模式
pytest 文件路径/测试文件名
3、Pytest Exit Code 含义清单
Exit code 0 所有用例执行完毕,全部通过
Exit code 1 所有用例执行完毕,存在Failed的测试用例
Exit code 2 用户中断了测试的执行
Exit code 3 测试执行过程发生了内部错误
Exit code 4 pytest 命令行使用错误
Exit code 5 未采集到可用测试用例文件
4、控制测试用例执行
1.在第N个用例失败后,结束测试执行
pytest -x # 第01次失败,就停止测试
pytest --maxfail=2 # 出现2个失败就终止测试
2.指定测试模块
pytest test_mod.py
3.指定测试目录
pytest testing/
4.通过关键字表达式过滤执行
pytest -k "MyClass and not method"
这条命令会匹配文件名、类名、方法名匹配表达式的用例
5.通过 node id 指定测试用例
nodeid由模块文件名、分隔符、类名、方法名、参数构成:
pytest test_mod.py::TestClass::test_method
6.通过标记表达式执行
pytest -m slow
这条命令会执行被装饰器 @pytest.mark.slow 装饰的所有测试用例
7.通过包执行测试
pytest --pyargs pkg.testing
这条命令会自动导入包 pkg.testing,并使用该包所在的目录,执行下面的用例。
8. 创建普通的结果文件:
py.test test_class.py --resultlog=./log.txt
5、多进程运行cases
安装pytest-xdist:
pip install -U pytest-xdist
运行模式:
pytest test_se.py -n NUM
其中NUM填写并发的进程数。
6、重试运行cases
case运行失败,就可以通过重试运行cases的方式来解决。
安装pytest-rerunfailures:
pip install -U pytest-rerunfailures
运行模式:
pytest test_se.py --reruns NUM
NUM填写重试的次数。
7、显示print内容
在运行pytest时,print内容不会显示出来。如果带上-s,就可以显示了。
运行模式:
pytest test_se.py -s