如何测试Python程序或组件?

如何测试Python程序或组件?

要测试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'])
      # 检查在分隔符不是字符串的情况下s.split失败
      with self.assertRaises(TypeError):
         s.split(2)

if __name__ == '__main__':
   unittest.main()

输出

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

OK

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程