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

Python 3/Doctest: Exception is not evaluated as expected result

我有一个 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.

对我来说,预期错误和实际错误看起来是一样的,但我可能遗漏了一些东西。我已经比较过whitespace等,好像是一样的

然后我尝试将完整的 Traceback 从 "Got:" 部分粘贴到测试用例中 - 我仍然得到失败的测试,所以我想我一定是做错了什么。

如果你能提醒我,我会很高兴。

第 8 行你有:TypeError: Falscher Farbwert -1!____(末尾有 4 个空格)

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