1.单元测试和测试用例
Python标准库中的模块Unittest提供了代码测试工具。
1.1 可通过行测试
要为函数编写测试用例,可先导入unittest以及要测试的函数,再创建一个继承unnittest.Testcae的类,并编写一系列方法对函数行为的不同方面进行测试
"""该测试用例只包含一个方法,它检查函数get_formatted_name()在给定名和姓时能否正常工作"""
import unittest # 导入模块
# 从name_function.py中导入get_formatted_name
from name_function import get_formatted_name
# 创建一个NameTestCase类,用于包含一系列针对get_formatted_name()的单元测试,
# 这个类必须继承unittest.Test类,这样python才知道如何运行编写的测试用例
class NameTestCase(unittest.TestCase):
"""测试name_function.py"""
def test_first_last_name(self):
formatted_name = get_formatted_name('Janis', 'Joplin')
# 一个断言方法,断言方法用来核实得到的结果是否与预期的结果一致
# 调用unittest的方法assertequal(),兵饷它传递formatted_name和'Janis Joplin'
self.assertEqual(formatted_name, 'Janis Joplin')
# 让python运行这个文件中的测试
unittest.main()
测试结果:
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Process finished with exit code 0
Empty suite
此结果表示看不到自动化测试工具selenium打开网页执行代码过程,原因是需要需要在unittest.main()前面加一个if语句来告诉程序执行此文件,即:
if __name__ == '_main_': unittest.main()
加入这块的内容表示:执行的是此代码的文件, 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码。 只有执行这个文件时, if 里面的语句才会被执行。 这个功能经常可以用于进行测试。
修改之后的结果: