python程序测试
程序员文章站
2024-01-22 07:59:16
...
-
单元测试和测试用例
Python 标准库中的模块 unittest 提供了代码测试工具。 单元测试 用于核实函数的某个方面没有问题;测试用例 是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。良好的测试用例考虑到了函数可能收到的各种输入,包含针对所有这些情形的测试。 全覆盖式测试 用例包含一整套单元测试,涵盖了各种可能的函数使用方式。
要为函数编写测试用例,可先导入模块 unittest 以及要测试的函数,再创建一个继承 unittest.TestCase 的类,并编写一系列方法对函数行为的不同方面进行测试。
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()
NamesTestCase 只包含一个方法,用于测试 get_formatted_name() 的一个方面。我们将这个方法命名为test_first_last_name() ,因为我们要核实的是只有名和姓的姓名能否被正确地格式化。我们运行 testname_function.py 时,所有以 test 打头的方法都将自动运行。在这个方法中,我们调用了要测试的函数,并存储了要测试的返回值。在这个示例中,我们使用实参 'janis' 和 'joplin' 调用 get_formatted_name() ,并将结果存储到变量 formatted_name 中。self.assertEqual使用了 unittest 类最有用的功能之一:一个 断言方法。断言方法用来核实得到的结果是否与期望的结果一致。
上一篇: 禁用了$_ENV变量,后如何获取环境信息
推荐阅读
-
python爬虫-全局的资源访问问题
-
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决
-
Python中strip() 函数和 split() 函数的理解
-
“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务“和“ORA-12541:TNS:无监听程序“问题处理
-
理解 Python 装饰器看这一篇就够了
-
使用PL/SQL Developer 连接Oracle时报错ORA-12541: TNS: 无监听程序
-
ORA-12516 "TNS监听程序找不到符合协议堆栈要求的可用处理程序" 解决方案
-
Oracle ORA-12541:TNS:无监听程序
-
ExtJS 中使用Asp.net编写后台服务器程序的几种方式
-
C#绘制飞行棋地图小程序