1.用例编写方法
unittest
1)测试文件必须导入unittest包
2)测试类必须继承unittest.TestCase
3)测试类必须有unittest.main()方法
4)测试方法必须要以test_打头
pytest
1)测试文件名要以test_打头,或者_test结尾
2)测试类名字要以Test打头
3)测试方法名字test_打头
2.用例分类执行
unittest
默认执行全部用例,也可通过加载testsuit,执行部分用例
pytest
通过@pytest.mark方法来标记类和方法,pytest.main()加入参数-m来标记执行标记的类和方法
3.用例的前置和后置
unittest
提供了setUp/tearDown,只能针对所有用例
pytest
pytest的fixture可以任意自定义方法函数
4.参数化
unittest
依赖ddt
pytest
使用@pytest.mark.parametrize装饰器
5.断言
unittest
断言有很多格式,(assertEqual,assertIn,assertTrue,assertFalse)
pytest
pytest只有assert一个表达式
6.生成测试报告
unittest
unittest使用HTMLTestRunner
pytest
pytest-HTML,allure插件
7.失败重跑
unittest
无机制
pytest
pytest-rerunfailures插件可支持失败重跑