接口框架第二篇—unittest/pytest 有什么区别

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插件可支持失败重跑

相关推荐
开源优测2 小时前
深入解析 Pytest 钩子函数及二次开发过程
pytest
开源优测18 小时前
深度解析 Pytest 中的 conftest.py
pytest
天天要nx1 天前
D105【python 接口自动化学习】- pytest进阶参数化用法
python·pytest
天天要nx3 天前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
程序猿000001号3 天前
探索Python的pytest库:简化单元测试的艺术
python·单元测试·pytest
爱学测试的雨果4 天前
分布式测试插件 pytest-xdist 使用详解
分布式·pytest
七灵微6 天前
【测试】Pytest
pytest
钱钱钱端6 天前
Pytest参数详解 — 基于命令行模式!
自动化测试·软件测试·python·jmeter·职场和发展·pytest·压力测试
blues_C7 天前
Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架
自动化测试·python·pytest·测试框架·bdd