欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 类最有用的功能之一:一个 断言方法。断言方法用来核实得到的结果是否与期望的结果一致。