-- 单元测试
测试方法和函数,自动化测试用例。
-- 作用
发现测试用例:根据它自己的规则去找到测试用例。
执行测试用例:按照一定的顺序。
判断测试结果
生成测试报告
-- pytest默认t规则
--模块名必须以test_开头或者_test结尾
--测试类必须以Test开头,不能有init方法
--测试用例必须以test_开头
--执行测试用例:按照一定的顺序。
默认根据从上到下的规则执行,如果有pytest.mark.run(order= 1)装饰器除外。
--判断测试结果:
pytest断言:原生的assert方法。
--生成测试报告:
pytest报告:主要是通过插件:pytest-html, allure-pytest报告。
-- 插件
pytest
pytest-html 生成html格式的自动化测试报告
pytest-xdist 测试用例分布式执行,CPU分发
pytest-ordering 用于改变测试用例的执行顺序
pytest-rerunfailures 用例失败后重跑
allure-pytest 用于生成美观的测试报告
-- 安装
使用一个文本文档:requirements.txt,
然后通过pip install -r requirements.txt 安装
-- 主函数模式
-s输出调试信息。
-v输出更加详细的信息,比如文件和用例名称等。
-x出现1个用例失败则停止测试。
--reruns 出现失败的用例之后,重复执行。
--maxfail=2指定出现多个是失败则停止测试。
-n NUM 支持多线程或者分布式运行测试用例
-- 命令行模式
pytest
举例
-s输出调试信息
-v输出更加详细的信息,比如文件和用例名称等
-vs合并
-x出现1个用例失败则停止测试
--reruns 出现失败的用例之后,重复执行
--maxfail=2指定出现多个是失败则停止测试
XFAIL表示预期用例失败,实际也是用例失败,符合预期。
在定义函数前添加@pytest.mark.xfail
-n NUM 支持多线程或者分布式运行测试用例
当测试用例需要用时很长时,先找到这个测试用例,然后采用
pytest ./xxx/test_xxx.py::Testxx::test_xx -n NUM 来减少运行时间。
PS:B站学习总结,已标明出处。如有侵权,请联系我删除。