Python doctest在\uuuu main\uuuuu.py上失败
当被测试文件的名称为Python doctest在\uuuu main\uuuuu.py上失败,python,doctest,Python,Doctest,当被测试文件的名称为\uuuu main\uuuu.py时,Doctest失败。这是预期的行为吗 结果是,在\uuuu main\uuuuuu.py中不能有任何doctest。那么,解决方法是将所有doctested内容移出\uuuu main\uuuuuuuuuuuuuuuuuuuuuuuupy并导入到另一个模块中吗 复制:制作一个内容简单的文件 """ >>> 1+2 3 """ 将该文件命名为除\uuuuu main\uuuuu.py以外的任何名称 python -m
\uuuu main\uuuu.py
时,Doctest失败。这是预期的行为吗
结果是,在\uuuu main\uuuuuu.py
中不能有任何doctest。那么,解决方法是将所有doctested内容移出\uuuu main\uuuuuuuuuuuuuuuuuuuuuuuupy
并导入到另一个模块中吗
复制:制作一个内容简单的文件
"""
>>> 1+2
3
"""
将该文件命名为除\uuuuu main\uuuuu.py
以外的任何名称
python -m doctest anything_but_main.py
python -m doctest __main__.py
博士考试顺利通过
将该文件命名为\uuuu main\uuuu.py
python -m doctest anything_but_main.py
python -m doctest __main__.py
现在doctest崩溃得很惨:
**********************************************************************
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1812, in __main__.DebugRunner
Failed example:
runner.run(test)
Expected:
Traceback (most recent call last):
...
doctest.UnexpectedException: <DocTest foo from foo.py:0 (2 examples)>
Got:
Traceback (most recent call last):
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest __main__.DebugRunner[15]>", line 1, in <module>
runner.run(test)
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1836, in run
r = DocTestRunner.run(self, test, compileflags, out, False)
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1475, in run
return self.__run(test, compileflags, out)
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1381, in __run
exception)
File "C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py", line 1842, in report_unexpected_exception
raise UnexpectedException(test, example, exc_info)
UnexpectedException: <DocTest foo from foo.py:0 (2 examples)>
**********************************************************************
1 items had failures:
1 of 21 in __main__.DebugRunner
***Test Failed*** 1 failures.
**********************************************************************
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1812行,位于_umain__;.DebugRunner中
失败示例:
runner.run(测试)
预期:
回溯(最近一次呼叫最后一次):
...
博士测试异常:
得到了:
回溯(最近一次呼叫最后一次):
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1329行,正在运行
compileflags,1),test.globs)
文件“”,第1行,在
runner.run(测试)
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1836行,正在运行
r=DocTestRunner.run(self、test、compileflags、out、False)
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1475行,正在运行
返回自运行(测试、编译、输出)
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1381行,正在运行
例外情况)
文件“C:\Users\PERSON\AppData\Local\Continuum\anaconda3\envs\fle\lib\doctest.py”,第1842行,在报告\u意外\u异常中
引发意外异常(测试、示例、exc_信息)
异常情况:
**********************************************************************
1个项目出现故障:
1/21英寸主调试程序
***测试失败***1次失败。
我必须对此进行更多研究,但我的第一个猜测是,这与污染名称空间有关。像这样从命令行调用doctest
会创建一个\uuuu name\uuuuu
变量,该变量等于'\uuu main\uuuuu'
,因此,可能将其作为同名文件上的模块调用会造成一些污染。我必须进一步研究这个问题,但我的第一个猜测是,这与污染名称空间有关。像这样从命令行调用doctest
会创建一个\uuuuu name\uuuuuu
变量,该变量等于'\uuuu main\uuuuuu'
,因此,将其作为同名文件上的模块调用可能会造成一些污染。