当前位置: 首页 > news >正文

初探 Pytest:编写并运行你的第一个测试用例

概述

当我们你完成了项目的搭建和结构设计,是时候开始编写你的第一个测试用例了。本文将引导你一步步完成这个过程,帮助你熟悉 Pytest 的基本使用方法。

项目的搭建和结构设计可参考 :从零开始搭建 Pytest 测试框架(Python 3.8 + PyCharm 版)

编写第一个测试用例

假设我们有一个简单的加法函数,位于 utils/common.py 文件中:

def add(a, b):return a + b

我们的目标是验证这个加法函数的行为是否正确。接下来,我们将编写一个测试用例来检查这个函数的输出是否符合预期。

第一步:创建测试文件

在之前搭建的项目结构中,你应该已经有了一个 tests 文件夹。我们现在要在这个文件夹内创建一个新的 Python 文件,比如命名为 test_sample.py
在这里插入图片描述

第二步:导入被测函数

打开 tests/test_sample.py 文件,并导入你在 utils/common.py 中定义的 add 函数:

from utils.common import add

第三步:编写测试逻辑

定义一个测试函数,根据 Pytest 的命名约定,测试函数的名字应该以 test_ 开头。这里我们定义一个名为 test_add 的函数,用于验证 add 函数的行为:

def test_add():assert add(2, 3) == 5assert add(-1, 1) == 0assert add(0, 0) == 0

这段代码包含了几条断言(assertions),用来验证 add 函数返回的结果是否符合预期。

运行测试

编写完测试用例后,就可以运行它们了。有几种方法可以运行 Pytest 测试:

方法一:使用终端运行

  1. 打开终端或命令提示符。
  2. 导航到你的项目根目录(即包含 tests 文件夹的那个目录)。
  3. 输入以下命令来运行所有测试:
pytest

你会看到类似如下的输出:

============================= test session starts =============================
collected 1 itemtests/test_sample.py .                                                 [100%]============================== 1 passed in 0.01s ==============================

在这里插入图片描述
这说明你的测试通过了!

方法二:使用 PyCharm 运行

如果你使用的是 PyCharm,可以通过以下步骤运行测试:

  1. 打开 tests/test_sample.py 文件。
  2. 右键点击编辑器中的任意位置,选择 Run 'pytest in test_sample.py'
    在这里插入图片描述
    PyCharm 会自动调用 pytest 并显示运行结果

总结

在这篇文章中,我们一起完成了以下内容:

  • 编写了第一个测试用例,验证了一个简单的加法函数。
  • 学习了如何使用终端和 PyCharm 来运行测试
http://www.dtcms.com/a/250871.html

相关文章:

  • 【C语言扩展识别实数负数】2022-5-29
  • 软考 系统架构设计师系列知识点之杂项集萃(90)
  • OpenWrt:交叉编译openssl
  • 总结用ubuntu一直以来遇到的问题
  • 【Dify系列】【一】【安装与部署】【ubuntu22.04安装docker部署dify1.4.2】
  • android为什么不用sqlite数据库,而要用Realm
  • 使用axios及和spirng boot 交互
  • LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 下
  • OpenKylin安装运行ssh及sftp服务
  • 剑指offer26_顺时针打印矩阵
  • 产品经理页面布局设计的四维思考框架
  • 低秩分解的本质是通过基矩阵和系数矩阵的线性组合,以最小的存储和计算代价近似表示复杂矩阵
  • 如何高效的学习算法与数据结构
  • 408第一季 - 数据结构 - 散列表
  • 【数据结构中的堆】
  • 理解ES6中的Promise
  • Linux服务器运维常用命令大全
  • 不同conda 不同cuda版本方法
  • /etc/profile.d/conda.sh: No such file or directory : numeric argument required
  • Python基础教学:航天工程领域的精确计算和金融领域的精确计算,分别采用的小数保留位数的方法有哪些?有什么区别?-由Deepseek产生
  • Oracle03-PL/SQL Developer
  • Vue学习001-创建 Vue 应用
  • 循环神经网络及其变体
  • Python+QT远程控制助手-ver2
  • Dify 插件工具:远程连接配置指南
  • NY271NY274美光科技固态NY278NY284
  • 车载通信架构 --- IP ECU 在连接被拒绝后的重连机制
  • C++第一阶段——语言基础与核心特性
  • 项目 : 基于正倒排的boost搜索引擎
  • AI for Science:智能科技如何重塑科学研究