Python 3 / Doctest:异常未评估为预期结果

时间:2018-08-10 09:21:38

标签: python python-3.x doctest

我有一个包含以下代码的python模块(以及其他功能):

def check_color_range(*argv):
"""
Abbreviated documentation and other tests.

>>> check_color_range(23, -1, 99, 10000)
Traceback (most recent call last):
    ...
TypeError: Falscher Farbwert -1!    
"""
for c in argv:
    if c < 0 or c > 255:
        raise TypeError('Falscher Farbwert ' + str(c) + '!')

当我使用doctest这样运行此程序时:python -m doctest -v demo.py,我得到以下输出:

Trying:
    check_color_range(23, -1, 99, 10000)
Expecting:
    Traceback (most recent call last):
        ...
    TypeError: Falscher Farbwert -1!
**********************************************************************
File "C:\az\code_camp_python\src\EigeneProgramme\Tag3\arcade_base\demo.py", line 5, in demo.check_color_range
Failed example:
    check_color_range(23, -1, 99, 10000)
Expected:
    Traceback (most recent call last):
        ...
    TypeError: Falscher Farbwert -1!
Got:
    Traceback (most recent call last):
      File "C:\az\miniconda3\envs\py37\lib\doctest.py", line 1329, in __run
        compileflags, 1), test.globs)
      File "<doctest demo.check_color_range[0]>", line 1, in <module>
        check_color_range(23, -1, 99, 10000)
      File "C:\az\code_camp_python\src\EigeneProgramme\Tag3\arcade_base\demo.py", line 12, in check_color_range
        raise TypeError('Falscher Farbwert ' + str(c) + '!')
    TypeError: Falscher Farbwert -1!
1 items had no tests:
    demo
**********************************************************************
1 items had failures:
   1 of   1 in demo.check_color_range
1 tests in 2 items.
0 passed and 1 failed.
***Test Failed*** 1 failures.

对我来说,预期的错误和实际的错误看起来相同,但是我可能遗漏了一些东西。我已经比较了空格等,这似乎是相同的。

然后,我尝试将“ Got:”部分中的完整回溯粘贴到测试用例中-但我仍然无法通过测试,因此我想我一定做错了。

如果可以给我一个提示,我会很高兴。

1 个答案:

答案 0 :(得分:1)

在第8行上,您拥有:TypeError: Falscher Farbwert -1!____(末尾有4个空格)

您应该将其替换为:TypeError: Falscher Farbwert -1!