【python】python 测试,为什么我们需要测试,pytest的使用

为什么需要测试

🔥测试,软件开发的秘密武器🔥

✨大家好,今天就来跟大家聊聊软件开发中的一项超级重要的环节------测试!👀

🎯测试,是软件开发的灵魂,是确保代码正确运行****,满足需求,实现预期功能的秘密武器!💪

🌈它就像是一个质量守护者,帮助我们提前抓住那些潜在的bug和错误,确保我们交付的是一个高质量的产品。💯

💸而且,早期发现并解决问题,可以大大减少未来的修复成本,让我们的开发之路更加顺畅!💰

📌测试还可以验证新功能是否按预期工作,以及修改现有代码是否会引起其他问题,为我们的开发过程提供了强大的保障。🔒

🔄更重要的是,有了自动化测试,我们可以更安心 地进行代码重构和添加新功能,因为它们会迅速告诉我们是否对现有的功能产生了负面影响。🚀

📖此外,精心编写的测试还可以作为代码的文档,让其他人(包括未来的你)更容易理解代码工作原理。📚

💖最后,拥有一套完善的测试套件,不仅可以给开发者和利益相关者带来信心,更能确保软件的稳定性和可靠性。❤️

🎉总之,测试是创建健壮、可靠、易维护软件的关键实践,是对代码库的一次值得的投资,它会在软件的整个生命周期中持续回报我们。🎊

pytest

  1. 安装 :使用虚拟环境安装pytest,使用命令' pip install pytest '。

  2. 编写测试 :学会了创建一个带有' test_ '前缀的测试文件(例如,' test_sample.py '),并在该文件中以' test_ '开头编写测试函数。

  3. 运行测试:学会了通过在终端输入' pytest '来运行测试。' pytest '根据其命名约定自动发现并运行测试。

  4. 测试发现:' pytest '通过在文件名,类名和函数名中查找' test_ '前缀来查找测试函数。

  5. 输出说明:了解到' pytest '提供了一个显示测试结果的输出,用圆点表示通过的测试,最后是摘要。

  6. 没有测试函数:如果没有发现测试函数,' pytest '将报告没有运行测试。

  7. 运行单个测试文件 :要从单个文件运行测试,请使用' pytest path/ To /your/test_file.py '。

  8. 在一个目录中运行测试 :要从特定目录运行测试,请使用pytest path/ To /your/test_directory/ '。

pytest 例子

伟大的选择!"pytest"是一个强大而灵活的测试工具,许多开发人员都喜欢使用它。要开始使用"pytest",请遵循以下步骤。

# #的安装

首先,您需要安装' pytest '。在虚拟环境中这样做是一个很好的做法:

' ' ' sh

#如果你还没有在虚拟环境中,设置一个

Python -m venv venv

#激活虚拟环境

#在Windows上:

venv \ \激活脚本

#在macOS/Linux上:

源venv / bin /激活

安装pytest

PIP安装pytest

' ' '

编写你的第一个测试

为您的测试创建一个新文件,例如' test_sample.py ',并在文本编辑器中打开它。

让我们假设你有一个简单的函数要测试,比如下面的' add '函数,你可以把它保存在一个名为' calculator.py '的文件中:

""python

calculator.py

cpp 复制代码
Def add(a, b):
	return a + b

现在,让我们在' test_sample.py '中为这个函数写一个测试:

""python

test_sample.py

从计算器导入添加

cpp 复制代码
def test_add():
	assert add(2,3) == 5
	assert add(2, -2) == 0
	assert add(-1, -1) == -2

在这个测试函数中,我们使用"assert"语句来验证"add"函数是否返回预期的结果。

运行测试

打开您的终端(确保您在安装' pytest '的虚拟环境中),导航到包含' test_sample.py '文件的目录,并运行:

cpp 复制代码
pytest

' pytest '将自动发现遵循其约定的测试(以' test_ '开头或以' test.py '结尾的测试文件,以及以' test '开头的测试函数),执行它们,并报告结果。

相关推荐
Kai HVZ18 分钟前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神20 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师21 分钟前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
m0_7482448323 分钟前
StarRocks 排查单副本表
大数据·数据库·python
就爱学编程29 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
B站计算机毕业设计超人29 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..32 分钟前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客52043 分钟前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
emoji1111111 小时前
前端对页面数据进行缓存
开发语言·前端·javascript