• pytest和unittest对比


     一、用例编写规则

    1.在使用unittest编写测试用例的时候,需要遵循先创建testclass,测试类继承unittest.TestCase的固定格式。

    pytest不需要,框架规范更自由,可以直接写def test_XXX()即可

    (1)测试文件名必须以“test_”开头或者"_test"结尾(如:test_ab.py)

    (2)测试方法必须以“test_”开头。

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

           

    二、用例分类执行

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

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

    三、用例前置和后置

    1.unittest提供了setUp/tearDown,只能针对所有用例。

    2.pytest中的fixture显然更加灵活。

    可以任意自定义方法函数,只要加上@pytest.fixture()这个装饰器,那么被装饰的方法就可以被使用

    四、参数化

    1、unittest需依赖ddt库,

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

     

    五、断言

    1.unittest断言需要记很多断言格式(assertEqual、assertIn、assertTrue、assertFalse)

    2.pytest只有assert一个表达式,用起来比较方便

     

    六、报告

    1.unittest使用HTMLTestRunnerNew库。

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

     

    七、失败重跑

    1、unittest无此功能。

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

    主要web端可能有元素没在规定时间内加载出来的原因导致用例失败,使用重跑可以加大报告的可信度。

     

     

  • 相关阅读:
    iOS js交互
    崩溃!UIAlertController 引起的崩溃
    跳转到AppStore下载app
    installshield basic msi 更新时覆盖不了上一个版本文件解决方案1
    用ILMerge.exe合并dll
    获取某几个分类下的前N条数据 mssql语句
    计算网络文件的大小
    英语 2018-12-04 2法国燃料涨价抗议活动
    英语2018-12-04
    从一个故事说起,谈谈企业应用架构的演变史
  • 原文地址:https://www.cnblogs.com/yzwdcjs/p/11944515.html
Copyright © 2020-2023  润新知