unittest vs pytest区别

server/2025/3/14 20:04:12/

unittest vs pytest 对比

  • unittest 像“手动挡汽车”:操作步骤多,规则严格,适合老司机。
  • pytest 像“自动挡汽车”:开起来轻松,功能强大,适合新手和高效开发。
区别点unittest​(你学过的)pytest​(更强大的新工具)
测试用例写法必须写一个类,继承 unittest.TestCase不用类!直接写函数,函数名以 test_ 开头就行
断言语法必须用 self.assertEqual(a, b) 这种固定方法直接用 assert a == b,像写普通 Python 代码一样简单
参数化测试需要安装第三方库(如 ddt自带参数化功能,一行代码搞定
管理测试数据用 setUp() 和 tearDown() 初始化/清理数据用 fixture 功能,灵活定义数据,可重复使用
运行测试需手动指定测试文件(如 python -m unittest test.py自动发现所有 test_*.py 文件,命令行输入 pytest 就行
插件和扩展功能有限,扩展性差超多插件!比如生成HTML报告、多线程加速测试
错误提示报错信息简单错误信息更清晰,直接告诉你哪一行出问题

总结

  • “unittest 是 Python 自带的测试框架,规则比较严格:需要写测试类继承 TestCase,断言要用 self.assertEqual() 等方法,适合小型项目。
  • pytest 是更现代的框架,语法更简洁:比如直接用 assert 断言,支持参数化测试和灵活的 fixture 管理,还能通过插件扩展功能(比如生成测试报告)。
  • 虽然我之前主要用 unittest,但 pytest 的优势非常明显。如果有需要,我可以快速学习并应用到项目中,提升测试效率和覆盖度。”


http://www.ppmy.cn/server/174965.html

相关文章

蓝桥杯[每日两题] 真题:好数 神奇闹钟 (java版)

题目一:好数 题目描述 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上的数字是奇数,偶数位(十位、千位、十万位 )上的数字是偶数,我们就称之为“好数”。给定…

深度学习-145-Text2SQL之基于官方提示词模板进行交互

文章目录 1 基于sqlite1.1 数据库Chinook1.1.1 创建并载入数据1.1.2 SQLDatabase1.2 数据库中的表1.2.1 获取表的字段1.2.2 翻译字段1.3 建表语句2 操作单表2.1 大语言模型2.2 数据库连接2.3 官方提示词模板2.3.1 一般输出2.3.2 结构化输出2.4 执行SQL查询2.5 大模型整理结果2.…

【UCB CS 61B SP24】Lecture 35 - Counting Sort, Radix Sort

本文介绍了非比较型排序算法:计数排序与基数排序,其效率优于之前讲过的快速排序、归并排序等比较型排序算法,并用 Java 实现了基数排序算法。 1. 比较型 & 非比较型排序算法 比较型排序算法和非比较型排序算法是两类基于不同排序原理的…

Spring组件实例化扩展点:InstantiationAwareBeanPostProcessor

目录 一、什么是InstantiationAwareBeanPostProcessor&#xff1f;二、核心方法解析1、postProcessBeforeInstantiation(Class<?> beanClass, String beanName)2、postProcessAfterInstantiation(Object bean, String beanName)3、postProcessProperties(PropertyValues…

《探秘人工智能与鸿蒙系统集成开发的硬件基石》

在科技飞速发展的当下&#xff0c;人工智能与鸿蒙系统的集成开发开辟了创新的前沿领域。这一融合不仅代表着技术的演进&#xff0c;更预示着智能设备生态的全新变革。而在这场技术盛宴的背后&#xff0c;坚实的硬件配置是确保开发顺利进行的关键&#xff0c;它就像一座大厦的基…

linux centos 忘记root密码拯救

在CentOS 7中&#xff0c;如果忘记root密码&#xff0c;可以通过修改系统启动参数进入单用户模式或紧急模式进行重置。以下是两种常用方法&#xff0c;适用于物理机或虚拟机环境&#xff1a; 方法一&#xff1a;通过rd.break参数重置密码 步骤&#xff1a; 重启系统并进入GRU…

基于Redis实现限流

限流尽可能在满足需求的情况下越简单越好&#xff01; 分布式限流是指在分布式系统中对请求进行限制&#xff0c;以防止系统过载或滥用资源。以下是常见的分布式限流策略及其实现方式&#xff1a; 1、基于 Redis 的固定窗口限流 原理&#xff1a; 设定一个时间窗口&#xff0…

Linux C++ 编程死锁详解

&#x1f393;作者简介&#xff1a;程序员转项目管理领域优质创作者 &#x1f48c;个人邮箱&#xff1a;[2707492172qq.com] &#x1f310;PMP资料导航&#xff1a;PM菜鸟&#xff08;查阅PMP大纲考点&#xff09; &#x1f4a1;座右铭&#xff1a;上善若水&#xff0c;水善利万…