Python中的测试用例使用Doctest

问题描述:

如何在Python 3.6中编写一个程序来分割2个数字以及异常处理和测试用例?我读过它可以通过导入'doctest'来完成。Python中的测试用例使用Doctest

+0

请分享问题代码。 –

+0

问题中需要的三件事1)分割两个数字的代码2)Python中的异常处理3)为上述代码编写单元测试用例 –

+0

可以使用unittest,pytest,doctest模块编写单元测试用例。 –

Doctest是Python编程语言标准库中的一个模块,它允许基于标准Python解释器shell的输出轻松生成测试,剪切并粘贴到文档字符串中。

divide.py

def divide(a, b): 
    """ 
    >>> divide(8, 4) 
    2 
    >>> divide(-12, 3) 
    -4 
    >>> divide(4, 0) 
    "Denominator can't be zero" 
    """ 
    try: 
     result = a//b 
    except ZeroDivisionError: 
     result = "Denominator can't be zero" 

    return result 

每个 '>>>' 线运行仿佛蟒蛇外壳,并且被视为一个测试:

,你可以写你的代码。 下一行,如果不是'>>>'是上一行的预期输出。 如果有任何内容不完全匹配(包括尾随空格),则测试失败。

运行文档测试

您运行的doctest像这样(写于终端的命令):

$ python3 -m doctest -v doctest_trial.py,或者干脆

$ python3 -m doctest doctest_trial.py

+0

https://i.stack.imgur.com/IuVBF.jpg这是我的代码。我希望这是正确的实施,因为它运行良好。唯一的问题是我已经在函数之外写了测试用例。 –

+1

好的,应该在函数中写入'tests'。 另外,答案是另一种使用'doctest'的方法。我通常更喜欢这种方式。我们可以在运行脚本时在shell中使用它,而不是在代码中导入。 –