接口框架第二篇—unittest/pytest 有什么区别-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
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
断言有很多格式assertEqualassertInassertTrueassertFalse
pytest
pytest只有assert一个表达式
6.生成测试报告
unittest
unittest使用HTMLTestRunner
pytest
pytest-HTMLallure插件
7.失败重跑
unittest
无机制
pytest
pytest-rerunfailures插件可支持失败重跑