在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
众做周知,自动测试的优势是显而易见的,它可以大大节省我们的时间,提高我们的工作效率。那么Python如何做自动化测试呢?本文将用Python编写一个简单的测试用例,并指导大家写做自动化测试的代码。如果大家对这个内容感兴趣,就赶紧来一起学习吧!

1、为什么需要自动化测试?
相信大家都遇到过这样的问题,你需要一遍一遍地在你的软件中输入命令,来测试软件的功能是否正常,这个过程是很枯燥无味的。如果能写一小段代码用来测试你的代码该有多好啊!因此我们就不得不需要用到自动化测试。试想一下,无论你对程序做了什么修改,或者添加了什么新东西,你只要“跑一下你的自动化测试”,而这些测试能确认程序依然能正确运行。这些自动测试不会抓到所有的 bug,但可以让你无需重复输入命令运行你的代码,从而为你节约很多时间。
2、用Python编写测试用例
下面以一段非常简单的代码为例,用Python写一个简单的测试,这个测试将建立在一个项目骨架上面。首先从你的项目骨架创建一个叫做 ex47 的项目。下面是你要采取的步骤:
第一步:复制 skeleton 到 ex47
第二步:将所有的 NAME 重命名为 ex47
第三步:修改所有文件中 NAME 为 ex47
第四步:最后删除所有的 *.pyc 文件
接下来创建一个简单的 ex47/game.py 文件,里边放一些用来被测试的代码。我们现在放一个小class进去,用来作为我们的测试对象:

准备好了这个文件,接下来把测试骨架改成这样子:

这个文件导入了你在 ex47.game 创建的 Room 这个类,接下来我们要做的就是测试它。于是我们看到一系列的以 test_ 开头的测试函数,它们就是所谓的“测试用例(test case)”,每一个测试用例里面都有一小段代码,它们会创建一个或者一些房间,然后去确认房间的功能和你期望的是否一样。它测试了基本的房间功能,然后测试了路径,最后测试了整个地图。
这里最重要的函数是 assert_equal ,它保证了你设置的变量,以及你在 Room 里设置的路径和你的期望相符。如果你得到错误的结果的话, nosetests 将会打印出一个错误信息,这样你就可以找到出错的地方并且修正过来。
3、测试指导
在写测试代码时,你可以照着下面这些不是很严格的指导来做:
(1)测试脚本要放到 tests/ 目录下,并且命名为 BLAH_tests.py ,否则 nosetests 就不会执行你的测试脚本了。这样做还有一个好处就是防止测试代码和别的代码互相混掉。
(2)为你的每一个模组写一个测试。
(3)测试用例(函数)保持简短,但如果看上去不怎么整洁也没关系,测试用例一般都有点乱。
(4)就算测试用例有些乱,也要试着让他们保持整洁,把里边重复的代码删掉。创建一些辅助函数来避免重复的代码。当你下次在改完代码需要改测试的时候,你会感谢我这一条建议的。重复的代码会让修改测试变得很难操作。
(5)最后一条是别太把测试当做一回事。有时候,更好的方法是把代码和测试全部删掉,然后重新设计代码。
4、显示结果
$ nosetests
...
----------------------------------------------------------------------
Ran 3 tests in 0.008s
OK
如果一切工作正常的话,你看到的结果应该就是这样。试着把代码改错几个地方,然后看错误信息会是什么,再把代码改正确。
以上就是Python做自动化测试的全部指导,大家都学会了吗?如果还有什么不明白的地方,可以在博学谷官网上咨询在线老师~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
适合零基础人群学习的Python入门教程学什么?
适合零基础人群学习的Python入门教程:博学谷的IT在线就业班有Python学习教程,课程主要讲解:Python核心编程、Linux基础、前端开发、Web开发、爬虫开发等内容。
8376
2019-07-24 11:54:07
从事数据科学Python和R语言学哪个好?
从事数据科学Python和R语言学哪个好?答案肯定是学Python更好,当然也不是就完全否定了学习R语言的作用和意义。只是和R语言比较起来,Python的优势更加明显。首先,Python应用场景更加广泛,且上手简单,在数据处理方面有着强大的能力。因此,如果是从事数据科学的朋友,选择学习Python会更好。
5968
2020-02-21 18:52:17
如何利用Python批量下载百度图片?
有时候大家需要保存下载百度图片,但是在数量很大的情况下,一张一张地下载就显得很繁琐麻烦。那么,有没有一种方法可以把搜索到大量的百度图片直接下载到本地电脑中呢?当然有,答案就是利用Python。下面我们主要从方案思路和代码演示两个方面,来看看如何利用Python批量下载百度图片。
7144
2020-04-20 10:22:36
Pyhton数据结构列表在线学习
在Python中,列表(Lists)是很常见的数据结构。今天我们要来在线学习列表的相关知识点,主要内容有列表常用操作方法、堆栈、队列、列表推导、列表内置推导以及del表达式。一起来看看吧~
4740
2020-07-08 11:57:33
闭包是什么?具体怎么使用?
闭包是什么?具体怎么使用?闭包是使用外部函数变量的内部函数,闭包可以保存外部函数内的变量,不会随着外部函数调用完而销毁。
3983
2022-02-11 15:42:50
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
