定义一个math模块,里面含有三个数相加和的add函数,里面嵌套了两个doctest测试用例python编写
时间: 2024-10-18 18:04:23 浏览: 38
在Python中,你可以使用`unittest`库来编写单元测试,包括Doctest风格的测试。不过`unittest`并未直接内置Doctest,通常我们会在单独的文件中编写测试案例。下面是如何定义一个名为`math`的模块,其中包含一个`add`函数,以及两个Doctest风格的测试用例:
首先,创建一个名为`math.py`的文件:
```python
# math.py
def add(a, b, c):
"""
Calculate the sum of three numbers.
>>> add(2, 3, 4)
9
>>> add(-1, 0, 1)
0
"""
return a + b + c
```
在这个模块中,`add`函数接受三个参数并返回它们的和。两个嵌套的三行文档字符串(`>>>`)展示了两个预期的行为(测试用例),它们将自动运行并在命令行中显示结果。
接下来,你可以创建一个`test_math.py`文件来进行测试:
```python
import doctest
import math
def test_math():
tests = doctest.DocTestSuite(math)
results = tests.run()
print(results)
if __name__ == "__main__":
test_math()
```
当你运行`test_math.py`文件时,它将执行`math`模块中的所有Doctest测试。如果所有测试通过,将不会有任何输出;如果有失败的测试,会打印出相应的错误信息。
阅读全文