用Python编写单元测试:如何开始? [关闭]
我用Python完成了第一个适当的项目,现在的任务是为它编写测试。
由于这是我第一次做项目,所以这是我第一次为此编写测试。
问题是,我该如何开始? 我完全不知道。 谁能指出我一些可以用来开始编写测试的文档/教程/链接/书(尤其是单元测试)
关于该主题的任何建议都将受到欢迎。
#1楼
在我看来,有三个很棒的python测试框架值得一试。
unittest-所有python发行版的模块都是标准配置
鼻子 -可以运行单元测试,并且样板更少。
pytest-还运行单元测试,样板更少,报告更好,还有很多很棒的额外功能
为了对所有这些进行良好的比较,请阅读http://pythontesting.net/start-here的每个介绍。
也有关于灯具的扩展文章,还有更多。
#2楼
对于文档单元测试将是一个良好的开端。
另外,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。 这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。 这将为您带来编写测试用例的全部好处:)
#3楼
免费的Python书籍Dive Into Python中有关于单元测试的一章 ,您可能会觉得很有用。
如果您遵循现代实践,则可能应该在编写项目时编写测试,而不要等到项目即将完成时再进行测试。
现在有点晚,但是现在您知道下一次了。 :)
#4楼
如果您是首次使用单元测试,那么最简单的学习方法通常是最好的。 在此基础上,我建议使用py.test
而不是默认的unittest
模块 。
考虑以下两个示例,它们具有相同的作用:
示例1(单元测试):
import unittestclass LearningCase(unittest.TestCase):def test_starting_out(self):self.assertEqual(1, 1)def main():unittest.main()if __name__ == "__main__":main()
示例2(pytest):
def test_starting_out():assert 1 == 1
假设两个文件都命名为test_unittesting.py
,我们如何运行测试?
示例1(单元测试):
cd /path/to/dir/
python test_unittesting.py
示例2(pytest):
cd /path/to/dir/
py.test
#5楼
正如其他人已经回答的那样,编写单元测试已经晚了,但还不算太晚。 问题是您的代码是否可测试 。 确实,要对现有代码进行测试并不容易,甚至有一本关于此的书: 有效地使用遗留代码 (请参见要点或前期PDF )。
现在,编写或不编写单元测试就是您的要求。 您只需要意识到这可能是一项繁琐的任务。 您可以解决此问题,以学习单元测试或考虑先编写验收(端对端)测试,然后在更改代码或向项目添加新功能时开始编写单元测试。
#6楼
鼻子测试是在python中进行单元测试的出色解决方案。 它同时支持基于单元测试的测试用例和doctest,并且只需简单的配置文件即可开始使用它。
#7楼
unittest随标准库一起提供,但是我建议您进行鼻子测试 。
“ 鼻子扩展了单元测试,使测试更加容易。 ”
我也建议你pylint
“ 分析Python源代码以寻找错误和质量低劣的迹象。 ”
用Python编写单元测试:如何开始? [关闭]相关推荐
- 使用python编写单元测试
使用python3.6编写一个单元测试demo,例如:对学生Student类编写一个简单的单元测试. 1.编写Student类: #!/usr/bin/env python3 # -*- coding ...
- python rest api 测试_如何用Python编写REST API的单元测试
在过去的几个月中,正在从事一个名为B的项目.它是带有简单Web UI的徽章生成器,用于添加数据并生成PDF可打印徽章.B后端现在已转移到REST-API并测试REST-API中使用的功能,我们需要一些 ...
- 常用的python测试脚本_详解Python的单元测试
如果你听说过"测试驱动开发"(TDD:Test-Driven Development),单元测试就不陌生. 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. ...
- 如何使用Python进行单元测试
前言 在我的日常工作中,我是一名专业程序员.我使用c++.c#和Javascript.我是一个开发团队的一员,他们使用单元测试来验证我们的代码是否按照它应该的方式工作. 在本文中,我将通过讨论以下主题 ...
- python 单元测试_聊聊 Python 的单元测试框架(一):unittest
本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest. ...
- pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest
本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 一.介绍 本篇文章是<聊聊 Python 的单元测试框架>的第三篇,前两篇分别介绍了标准库 unittes ...
- python单元测试框架-Python unittest单元测试框架总结
什么是单元测试 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1.1.2.0.99,期待返回值与输入 ...
- python网站开发linux_使用Python编写Linux系统守护进程实例
守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控.此类程序会被以进程的形式初始化.通常,守护进程没有任何存在的父进程(即PPID=1),且 ...
- 利用python编写设计多线程web服务器(计算机网络_自顶向下第六版_第二章1和4的编程作业)
今天翻看自己以前的博客时,发现了这则博客,距今大约也有一年多的时间了,觉得还是蛮有趣的一个作业,于是跟着博客又做了一遍,觉得之前的排版有点不大好,所以此番用markdown 稍微重做些修改更新一下博客 ...
最新文章
- iOS 开发之沙盒机制 文件操作 (NSFielManager)
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
- 如何实现文字在图片中间的效果
- python的应用包括哪些_Python应用领域有哪些?
- android商品mysql_android使用mysql的方法总结
- 排序数字英文字母交错,由小到大
- 用Python爬数据,FineBI做分析后,我发现淘宝的手机原来这么便宜
- 在变量前面加个叹号什么意思_a little表示很少,quite a little什么意思?形容数量多少的用法...
- mysql unsigend_创建表 查询数据
- 英特尔2021至强cpu性能排行天梯图
- 美国服务器电影网站版权问题,为什么说选择美国服务器做电影网站比较好
- 关于Android开发者的简历
- 转载:SyncToy安装使用详解
- 【国产替代】推动安全芯片产业国产化,华秋电子与华翼微达成合作!
- 日语口语1.11 松田社長がおいでになることを伺っておりまして、ずっと待っておりました
- 金融(银行)有关业务总结
- android高斯模糊平均值,高斯模糊
- Overleaf (LaTex) 使用笔记(自用)
- 苹果原壁纸高清_宠物 | 猫咪狗狗系列手机壁纸
- java8 JDK1.8 API 中文 翻译版 java帮助文档