如何测试 Python 程序或组件?

pythonprogrammingserver side programming更新于 2023/11/29 6:07:00

要测试 Python 程序,请使用 Pygthon 中的 unittest 模块。 doctest 和 unittest 模块或第三方测试框架可用于构建详尽的测试套件,以执行模块中的每一行代码。

doctest 模块

doctest 模块搜索看起来像交互式 Python 会话的文本片段,然后执行这些会话以验证它们是否完全按照所示的方式工作。

unittest 模块

unittest 模块支持测试自动化、共享测试的设置和关闭代码、将测试聚合到集合中以及测试与报告框架的独立性。

在进一步讨论之前,让我们先了解一些有关 Python 测试的关键概念 -

  • 测试装置 - 它表示执行一个或多个测试所需的准备工作,以及任何相关的清理操作。

  • 测试用例 - 测试用例是单独的测试单元。它检查对特定输入集的特定响应。 unittest 提供了一个基类 TestCase,可用于创建新的测试用例。

  • 测试套件 - 测试套件是测试用例、测试套件或两者的集合。 它聚合要一起执行的测试。

  • 测试运行器 - 测试运行器是一个协调测试执行并向用户提供结果的组件。

现在让我们创建一个测试 -

创建测试

示例

在此示例中,我们将测试 Python 中的一些方法

import unittest class TestMethods(unittest.TestCase): def test_lower(self): self.assertEqual('AMIT'.lower(), 'amit') def test_islower(self): self.assertTrue('amit'.islower()) self.assertFalse('Amit'.isupper()) def test_split(self): s = 'Demo Text' self.assertEqual(s.split(), ['Demo', 'Text']) # check that s.split fails when the separator is not a string with self.assertRaises(TypeError): s.split(2) if __name__ == '__main__': unittest.main()

输出

...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

在上面的例子中,我们成功运行了测试。每个测试的根源都是对 assertEqual() 的调用,以检查预期结果 −

  • assertTrue() 或 assertFalse() 来验证条件;或
  • assertRaises() 来验证是否引发了特定异常

相关文章