Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。
测试函数
要学习测试,得有要测试的代码。下面是一个简单的函数,它接受名和姓并返回整洁的姓名:
name_function.py
def get_formatted_name(first, last):
'''Generate a neatly formatted full name.'''
full_name = first + ' ' +last
return full_name.title()
要为函数编写测试用例,可先导入模块unittest以及要测试的函数,再创建一个继承unittest.TestCase的类,并编写一系列方法对函数行为的不同方面进行测试。
方法名必须以test打头,这样它才会在我们运行test_name_function.py时自动运行。
test_name_function.py
import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
''' 测试name_function.py'''
def test_first_last_name(self):
'''能够正确地处理像Janis Jolin这样的姓名吗?'''
formatted_name = get_formatted_name('janis', 'joplin')
self.assertEqual(formatted_name, "Janis Joplin")
if __name__ == '__main__':
unittest.main()
下表列出了6个常用的断言方法