pytest跟unittest的优点跟劣势

1、用例编写规则session

1.使用unittest编写测试用例必须遵循如下规则:框架

  1.必须首先 导入 import unittest函数

  2.测试类必需要继承 unittest.TestCase测试

  3.测试方法必须以test_kai开头插件

2.pyest是Python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁高效,使用pytest编写测试用例必须遵循如下规则:继承

  1.测试文件必须以test开头或者_test结尾it

  2.测试方法需以test开头io

  3.测试类必须以Test开头function

2、前置跟后置class

  1.unittest提供了setUp/tearDown,每一个用例运行前、结束后运行一次。setUpClass和tearDownClass,用例执行前、结束后,只运行一次。

  2.pyets 能够在函数前使用@pytest.fixture()装饰器,fixture使用范围能够是:function(函数级别)、class、module(模块级别)、package(包级别)、session(多个测试类能够共用一个session)

  优点:

  1.fixure命名更加灵活,局限性比较小

  2.conftest.py 配置里能够实现数据共享,不须要import就能自动找到一些配置,可供多个py文件调用。

  3.scope="session" 以实现多个.py跨文件使用一个session来完成多个用例

3、断言

  1.unittest提供了assertEqual、assertIn、assertTrue、assertFalse等

  2.pytest直接在assert 后面接表达式

4、测试报告

  1.unittest使用HTMLTestRunnerNew库

  2.pytest有pytest-HTML、allure插件。

5、失败重跑

  1.unittest无此功能

  2.pytest支持

6、参数化

  1.unittest须要依赖于ddt库

  2.pytest直接使用@pytest.mark.parametrize装饰器

相关文章
相关标签/搜索