大家好,我是阿萨。今天学习 单元测试。
单元测试是一种软件测试方法,用于测试代码的单独功能或模块。在 Python 中,`unittest` 库是一个常用的单元测试框架。以下是一个简单的示例,说明如何使用 `unittest` 编写单元测试。
首先,我们有一个简单的 Python 模块,包含一个函数 `add`,它接受两个参数并返回它们的和。
**my_module.py** ```python def add(a, b): return a + b ```
接下来,我们将为这个函数编写单元测试。创建一个名为 `test_my_module.py` 的新文件,并编写以下内容:
**test_my_module.py** ```python import unittest from my_module import add class TestMyModule(unittest.TestCase): def test_add(self): # 测试两个正数相加 self.assertEqual(add(1, 2), 3) # 测试两个负数相加 self.assertEqual(add(-1, -2), -3) # 测试正数和负数相加 self.assertEqual(add(1, -1), 0) if __name__ == '__main__': unittest.main() ```
在这个例子中,我们首先导入了 `unittest` 库和我们要测试的 `add` 函数。然后,我们创建了一个名为 `TestMyModule` 的测试类,它继承自 `unittest.TestCase`。在这个类中,我们定义了一个名为 `test_add` 的方法,用于测试 `add` 函数的不同情况。
`test_add` 方法中的每个断言使用 `self.assertEqual()` 函数进行检查。如果实际结果和期望结果不同,该测试将失败。
要运行单元测试,请在命令行中执行以下命令:
``` python -m unittest test_my_module.py ```
如果所有测试都通过,你将看到类似以下的输出:
``` ... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK ```
这表明我们的 `add` 函数已通过了所有测试用例。如果有测试失败,`unittest` 将报告失败的测试用例以及期望和实际结果之间的差异。