提供test cases/test suits/test fixtures/test runner相关的组件
编写规范:
·测试模块首先import unittest
·测试类必须继承unittest.testcases
·测试方法必须以test_开头
·模块名字,类名字没有特殊要求
setUp,tearDown
·基于测试方法级别的setup,teardown
·执行每个测试方法的时候都会执行一次setup和teardown
·基于类级别的setupClass,tearDownClass
·执行这个类里面的所有测试方法只有一次执行setup和teardown
·基于模块级别的setupModule和teardownModule
·执行此模块里的所有类里的测试方法,仅执行一次setup和teardown
Htmltestrunner生成测试报告
优势:
·为测试方法输入不同参数化
·自动重试失败的测试用例
·支持allure测试报告
·支持丰富的第三方插件,且支持扩展
编写规范:
·测试文件以test_开头(以_test结尾也行)
·测试类以Test开头,并且不能带有__init__方法
·测试函数以test_开头
pytest执行测试用例方式
1.执行一个module > pytest -v src/testcases/test/test_a.py
2.执行一个类,一个方法 >
·pytest -v src/testcases/test/test_a.py::TestDemo
·python -v src/testcases/test/
·test_a.py::TestDemo::test_aa
3.执行一个目录或者package
·pytest -v src/testcases/test
4.通过标签来运行测试用例
·pytest -m PO src/testcases/test/
5.通过pytest.main来执行,所有的参数和pytest命令行方式相同
·pytest.main (['-v','--install','testcases/test/test_a.py','-m-P2'])