在Python中运行单元测试

在被称为单元测试的软件开发过程中,一个应用程序中较小的、可独立测试的组件,被称为单元,被检查其功能。Pythonunittest 模块允许我们运行单元测试。

本文将讨论单元测试以及如何在Python中进行测试。

什么是单元测试

计划、案例和脚本,以及实际的单元测试是单元测试的三个阶段。

第一阶段包括编写和审查单元测试。下一个阶段是制作测试用例和脚本。

在Python中创建和定义一个测试用例

在开始之前,请记住,我们在本文中使用的是Python 2.7及以上版本。然而,我们建议使用最新的Python 3.x版本。

一个测试用例是在一个系统上进行的一系列操作,看它是否符合软件要求并适当地运行。测试用例的目的是确定各种设计功能是否按预期工作,并确保系统符合所有适用的标准、建议和客户需求。

创建测试用例的行为也可以帮助识别系统中的缺陷或错误。在Python中,我们可以使用子函数TestCase 来创建一个测试用例,我们将在以后进行测试。

但是,首先要导入unittest 模块,使该模块对我们的代码可用。

示例代码:

import unittest
def sample_test(sample_list):
    if len(sample_list) > 10:
        raise ValueError("A maximum of 10 objects can be added to the container")
    return {"container_a": sample_list}
class TestAddObjectToContainer(unittest.TestCase):
    def test_add_object_to_container_success(self):
        actual = add_object_to_container(sample_list=["A", "B"])
        expected = {"container_a": ["A", "B"]}
        self.assertEqual(actual, expected)

使用Python运行一个单一的测试

例如,为了测试我们开发的测试用例,一旦进行了必要的设置,我们可以运行下面的命令。

示例代码:

python -m unittest main.py

当我们执行这个命令时,我们会得到以下输出。

在Python中运行单元测试

或者像这样,如果我们的测试出现了错误。

在Python中运行单元测试

在Python中运行多个测试

例如,如果我们为每个测试创建了多个Python文件,并把它们放在一个目录下,我们可以用discover 方法一起运行它们。为了自动检测测试文件,我们需要将它们命名为以关键字test ,就像我们之前创建的Python文件main.py

python -m unittest discover

上面的命令将检测所有名字以test 开始的文件并执行它们。