【发布时间】:2016-02-28 09:18:43
【问题描述】:
我写了以下 doctest x.doctest:
This is something:
>>> x = 3 + 4
foo bar something else:
>>> from __future__ import division
>>> y = 15
>>> z = int('24')
>>> m = z / y
>>> print (m)
1.6
但是当我在 python 2.7.11 上运行python -m doctest x.doctest 时,doctest 无法识别from __future__ import division:
**********************************************************************
File "x.doctest", line 11, in x.doctest
Failed example:
print (m)
Expected:
1.6
Got:
1
**********************************************************************
1 items had failures:
1 of 6 in x.doctest
***Test Failed*** 1 failures.
即使我将未来的导入语句移到第一行:
This is something:
>>> from __future__ import division
>>> x = 3 + 4
foo bar something else:
>>> y = 15
>>> z = int('24')
>>> m = z / y
>>> print (m)
1.6
doctest 仍然失败:
**********************************************************************
File "x.doctest", line 11, in x.doctest
Failed example:
print (m)
Expected:
1.6
Got:
1
**********************************************************************
1 items had failures:
1 of 6 in x.doctest
***Test Failed*** 1 failures.
为什么会这样,我该如何解决?
doctest 是否有一个标志/选项要求确保from __future__ import division 被识别?
注意:我可以强制检查 print (int(m)) 或 y = 15. 并且 doctest 会通过,但这并不理想。
【问题讨论】:
标签: python future division doctest