首页 > 编程语言 >基于Python语言单元测试框架unittest和pytest的区别

基于Python语言单元测试框架unittest和pytest的区别

时间:2022-12-26 16:25:23浏览次数:56  
标签:Python unittest 单元测试 teardown 用例 pytest 测试 setup

1.用例编写规则:
unittest:提供了testcases测试用例,testsuites测试套件,testfixtures测试固件或者夹具,testloader测试加载器,testrunner测试运行器。必须遵守以下规则:
(1)测试文件必须先导入import unittest
(2)测试类必须继承unittest TestCase
(3)测试方法必须以test开头
pytest:它是Python的第三方测试框架,基于unittest的扩展框架,必须遵守以下规则:
(1)测试文件名必须以test_开头或者_test结尾
(2)测试类必须以Test开头
(3)测试方法必须test开头

2.用例的前置和后置
unittest:
setUp/tearDown 在每个用例之前或者之后运行一次
打开浏览器,加载网页/关闭网页
setUpClass/tearDownClass 在每个类运行之前或之后运行一次
创建数据库连接,创建日志对象/关闭数据库连接,销毁日志对象
setUpModule和tearDownModule 在每个模块之前或者之后执行一次

pytest:
方法级:
setup_method/teardown_method或者setup/teardown 在方法之前和之后
函数级:
setup_function/teardown_down 在函数之前或者之后
类级:
setup_class/teardown_class
模块级:
setup_module/teardown_module

还有:还可以在函数之前加@pytest。fixture()

3.断言
unittest: assertTrue assertEqual assertIn
pytest:assert

4.报告
unittest: htmltestrunner/BStestrunner
pytest:插件 pytest-HTML allure

5.失败重跑
unittest:没有
pytest:pytest-rerunfailures插件

6.数据驱动
unittest:ddt
pytest:@pytest.mark.parametrize装饰器

7.用例分类执行
unittest:默认执行所有,也可以通过testsuite来执行部分用例,或者-k参数。
pytest:@pytest.mark

标签:Python,unittest,单元测试,teardown,用例,pytest,测试,setup
From: https://www.cnblogs.com/xiuxiu123456/p/17006065.html

相关文章

  • Python爬虫学习:Cookie 和 Session 的区别是什么?
    一、含义Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie......
  • Python模块学习,模块是,什么
    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。模块名要遵循Python变量命名规范,不要使用中文、特殊字......
  • python中主要的英语单词汇总
    path[pɑ:θ]路径unexpected[ˌʌnɪkˈspektɪd]不期望的class[klɑ:s]类usage[ˈju:sɪdʒ]使用public['pʌblik]公共的,公用的version[ˈvɜ:ʃn]......
  • 利用Python自动生成请假条
    哈喽兄弟们,今天咱们来实现用Python来批量生成请假条,这回既学了东西又做了事情,两不误~本文就将基于一个真实的办公案例进行讲解如何提取Excel内容并创建Word主要将涉......
  • Selenium23-UnitTest
    UnittestUnitTest是python自带的一个单元测试框架,用它来做单元测试对于测试来说,unittest框架的作用是自动化脚本(用例代码)执行框架,使用unittest框架来管理运行多个......
  • 盘点Python 中字符串的常用操作
    摘要:盘点Python中字符串的几个常用操作,对新手极度的友好。本文分享自华为云社区《​​盘点Python中字符串的常用操作,对新手极度友好​​》,作者:TT-千叶。在Python中字......
  • 盘点Python 中字符串的常用操作
    摘要:盘点Python中字符串的几个常用操作,对新手极度的友好。本文分享自华为云社区《盘点Python中字符串的常用操作,对新手极度友好》,作者:TT-千叶。在Python中字符串......
  • Mac 上安装python2和python3
    1.访问python官网https://www.python.org/downloads/ 选择想要下载的版本我选择的是3.11.1(2022-12-26最新版本)和以前的2.7.8 2.安装mpkg文件3.安装好了之......
  • python re.error: unterminated character set at position提示:字符串中包含[]{}()替
    re.error:unterminatedcharactersetatposition12这很可能是因为元字符“{}、[]、()”。有没有什么正则表达式可以让finditer忽略它?您必须转义正则表达式中的特殊......
  • python 函数 9
    1.定义函数#下面定义一个简单的函数,def关键字用来定义函数defgreet_user(username):print(f"hello-{username}")#调用greet_user('jesse')#实参和形参,上......