Python 自动化测试入门:编写与运行测试用例
众所周知,自动化测试的优势是显而易见的,它可以大大节省我们的时间,提高我们的工作效率。那么 Python 如何做自动化测试呢?本文将用 Python 编写一个简单的测试用例,并指导大家编写自动化测试的代码。
1. 为什么需要自动化测试?
相信大家都遇到过这样的问题,你需要一遍一遍地在你的软件中输入命令,来测试软件的功能是否正常,这个过程是很枯燥无味的。如果能写一小段代码用来测试你的代码该有多好啊!因此我们就不得不需要用到自动化测试。试想一下,无论你对程序做了什么修改,或者添加了什么新东西,你只要'跑一下你的自动化测试',而这些测试能确认程序依然能正确运行。这些自动测试不会抓到所有的 bug,但可以让你无需重复输入命令运行你的代码,从而为你节约很多时间。
2. 用 Python 编写测试用例
下面以一段非常简单的代码为例,用 Python 写一个简单的测试,这个测试将建立在一个项目骨架上面。首先从你的项目骨架创建一个叫做 ex47 的项目。下面是你要采取的步骤:
- 复制 skeleton 到 ex47
- 将所有的 NAME 重命名为 ex47
- 修改所有文件中 NAME 为 ex47
- 最后删除所有的 *.pyc 文件
接下来创建一个简单的 ex47/game.py 文件,里边放一些用来被测试的代码。我们现在放一个小 class 进去,用来作为我们的测试对象:
class Room(object):
def __init__(self, name, description):
self.name = name
self.description = description
self.paths = {}
def go(self, direction):
return self.paths.get(direction, None)
def enter(self):
print(self.description)
准备好了这个文件,接下来把测试骨架改成这样子:
import unittest
from game import Room
class TestGame(unittest.TestCase):
def test_room_name(self):
room = Room("North", "A dark tunnel")
self.assertEqual(room.name, )
():
room = Room(, )
.assertEqual(room.description, )
():
room = Room(, )
room.paths[] =
.assertEqual(room.go(), )


