news 2026/6/23 16:26:56

pytest中的测试用例名与`test_`开头的函数一一对应,不是与assert语句对应

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pytest中的测试用例名与`test_`开头的函数一一对应,不是与assert语句对应

1.基本对应关系

# test_example.pydeftest_addition():# 对应一个测试用例assert1+1==2deftest_subtraction():# 对应另一个测试用例assert3-1==2assert5-2==3# 同一个用例中的多个assert

在report.html中,你会看到:

  • test_addition(一个测试用例)
  • test_subtraction(一个测试用例)

2.参数化测试的特殊情况

importpytest@pytest.mark.parametrize("a,b,expected",[(1,1,2),(2,3,5),(5,5,10)])deftest_add(a,b,expected):# 一个函数对应多个测试用例asserta+b==expected

在报告中会显示为:

  • test_add[1-1-2]
  • test_add[2-3-5]
  • test_add[5-5-10]

3.assert的作用

  • assert是测试用例内部的验证点
  • 一个测试用例可以有多个assert语句
  • 如果第一个assert失败,后续的assert不会执行(除非使用pytest的特殊配置)
deftest_multiple_asserts():# 这3个assert都属于同一个测试用例assert1==1assert"hello"=="hello"assert[1,2]==[1,2]

4.report.html中的显示

<!-- 简化示例 --><table><tr><td>Test Case</td><td>Status</td></tr><tr><td>test_addition</td><!-- 函数名 --><td>PASSED</td></tr><tr><td>test_subtraction</td><!-- 函数名 --><td>FAILED</td><!-- 即使有多个assert,也是整体显示 --></tr></table>

5.总结要点

  • 一个test_函数 = 一个测试用例(除非参数化)
  • 多个assert = 一个测试用例内的多个检查点
  • 报告中显示的是函数名(或参数化后的变体)
  • assert失败会使整个测试用例标记为失败

6.验证方法

你可以通过以下命令查看:

# 运行测试并查看用例名pytest -v# 或生成html报告pytest --html=report.html

所以,pytest的报告结构与测试函数对应,而不是与assert语句对应

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 3:30:34

基于Spring Boot+Vue的躲猫猫书店管理系统

目录 项目介绍 演示视频 系统展示 代码实现 推荐项目 项目开发总结 为什么选择我 源码获取 博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领…

作者头像 李华
网站建设 2026/6/23 18:54:47

Ollama支持Qwen3-VL-8B吗?本地部署实测报告

Ollama支持Qwen3-VL-8B吗&#xff1f;本地部署实测报告 在智能终端设备日益依赖视觉理解能力的今天&#xff0c;一个现实问题摆在开发者面前&#xff1a;如何在保障数据隐私的前提下&#xff0c;以较低成本实现高质量的图文理解功能&#xff1f;尤其是在电商商品识别、客服自动…

作者头像 李华
网站建设 2026/6/23 17:22:13

终极指南:如何在VMware中免费解锁macOS虚拟机支持

终极指南&#xff1a;如何在VMware中免费解锁macOS虚拟机支持 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/un/unlocker 你是否曾经想在Windows或Linux系统上体验macOS的流畅操作&#xff0c;却发现VMware Workstati…

作者头像 李华
网站建设 2026/6/22 23:14:04

Linux网络层核心技术揭秘: 从IP协议到内核实现深度剖析

Linux网络层核心技术揭秘: 从IP协议到内核实现深度剖析 在当今的互联网世界中, Linux凭借其稳定、高效的网络协议栈实现, 成为服务器、云计算和网络设备领域的基石. 理解Linux网络层的核心原理不仅有助于我们优化网络应用性能, 更能深入掌握现代网络通信的本质 1. 网络层的基础…

作者头像 李华
网站建设 2026/6/23 15:31:45

简单线程池实现(单例模式)

1.概念 基本概念 线程池是一种多线程处理形式&#xff0c;它预先创建一组线程并管理它们&#xff0c;避免频繁创建和销毁线程带来的性能开销。 在 Linux 环境下&#xff0c;线程池&#xff08;Thread Pool&#xff09;是一种常用的并发编程模型&#xff0c;用于复用线程资源&…

作者头像 李华
网站建设 2026/6/23 7:45:17

类与对象三大核心函数:构造、析构、拷贝构造详解

类与对象三大核心函数&#xff1a;构造、析构、拷贝构造详解 一、引言 在C面向对象编程中&#xff0c;构造函数、析构函数和拷贝构造函数被称为"三大件"&#xff08;Rule of Three&#xff09;。它们是类设计的基石&#xff0c;决定了对象的创建、拷贝和销毁行为。…

作者头像 李华