我写了以下文档测试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 -m doctest x.doctest
在 python 2.7.11 上,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
文档测试仍然失败:
**********************************************************************
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))
or y = 15.
文档测试会通过,但这并不是那么理想。