Python 标准库中的模块 unittest 提供了代码测试工具。
import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
""" 测试 name_function.py"""
def test_first_last_name(self):
""" 能够正确地处理像 Janis Joplin 这样的姓名吗? """
formatted_name = get_formatted_name('janis', 'joplin')
self.assertEqual(formatted_name, 'Janis Joplin')
unittest.main()
类必须继承 unittest.TestCase 类,此处与继承类、超类不同,这样 Python 才知道如何运行你编写的测试。
代码行 self.assertEqual(formatted_name, 'Janis Joplin') 的意思是将 formatted_name 的值同字符串 'Janis Joplin' 进行比较。
这是一个 断言 方法。