在 django doctesting 时设置测试选项
Set testing options while django doctesting
在 these posts 之后,我已经成功 运行 我在 django 中的博士测试:
# myapp/tests.py
import doctest
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite())
return tests
然后运行宁:
python manage.py tests
但是,由于我习惯于使用简单的命令来测试我的(非 django)脚本:
py.test --doctest-modules -x
我现在很困惑:
- 测试程序在第一次失败后没有停止(我的好人
-x
)(所以我被结果淹没了,我每次都需要一直回滚到第一个问题)
- 选项
# doctest: +ELLIPSIS
默认未设置。
如何从这个 django load_tests()
挂钩设置这种选项?
好的,我知道了。 Options flags 像 ELLIPSIS
或 FAIL_FAST
都可以
作为 optionflags
参数提供给 DocTestSuite.
正确的组合方式,据报道here, is to bitwise OR他们:)
因此以下内容有效:
# myapp/tests.py
import doctest
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite(
optionflags=doctest.ELLIPSIS | doctest.FAIL_FAST))
return tests
在 these posts 之后,我已经成功 运行 我在 django 中的博士测试:
# myapp/tests.py
import doctest
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite())
return tests
然后运行宁:
python manage.py tests
但是,由于我习惯于使用简单的命令来测试我的(非 django)脚本:
py.test --doctest-modules -x
我现在很困惑:
- 测试程序在第一次失败后没有停止(我的好人
-x
)(所以我被结果淹没了,我每次都需要一直回滚到第一个问题) - 选项
# doctest: +ELLIPSIS
默认未设置。
如何从这个 django load_tests()
挂钩设置这种选项?
好的,我知道了。 Options flags 像 ELLIPSIS
或 FAIL_FAST
都可以
作为 optionflags
参数提供给 DocTestSuite.
正确的组合方式,据报道here, is to bitwise OR他们:)
因此以下内容有效:
# myapp/tests.py
import doctest
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite(
optionflags=doctest.ELLIPSIS | doctest.FAIL_FAST))
return tests