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