unittest 和 pytest 的区别

一、用例编写规则

1、unittest提供了test_cases、test_suites、test_fixtures、test_runner相关的类,让测试更加明确、方便、可控,使用unittest编写用例,必须遵守以下规则:

       (1)、测试文件必须先 import  unittest

       (2)、测试类必须继承 unittest  TestCase

       (3)、测试方法必须以 test_开头

       (4)、测试类必须要有 unittest.main() 方法

2、pytest 是python的第三方测试框架,是基于unittest 的扩展框架,比 unittest 更简洁、更高效。使用 pytest 编写用例,必须遵守以下规则:

       (1)、测试文件必须以 test_ 开头或者 _test 结尾

       (2)、测试方法必须以 test_ 开头

       (3)、测试类命名以 Test 开头

二、用例前置和后置

1、unittest 提供 setup /  tearDown,每个用例运行前 / 结束后运行一次,setupclass 和 tearDownclass,用例执行前、结束后,只执行一次

2、pytest 提供了模块级、函数级、类级、方法级的 setup / teardown,比 unittest 的 setup /  tearDown 更灵活

三、报告

1、unittest 使用 HTMLTestRunnerNew 库

2、pytest 有 pytest-HTML,allure 插件

四、断言

1、unittest 提供了 assertEqual ,assertln , assertTrue ,assertFalse

2、pytest 直接使用 assert 表达式

五、失败重跑

1、unittest 无此功能

2、pytest 支持用例执行失败重跑,pytest-rerunfailures 插件

六、参数化

1、unittest 需依赖 ddt 库

2、pytest 直接使用 @pytest.mark.parametrize 插件

七、用例分类执行

1、unittest 默认执行全部用例,也能通过加载 testsuit 执行部分用例

2、pytest 可以通过 @pytest.mark 来标记类和方法,pytest.main加入参数(-m)可以只运行标记的类和方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值