在django doctesting中设置测试选项

时间:2018-03-08 22:45:17

标签: django python-3.x testing options doctest

关注these posts后,我设法在django中运行我的doctest:

# 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

我现在很困惑:

  • 测试程序在第一次失败后没有停止(我的好' ol -x)(所以我充满了结果,我需要每次向后滚动到第一个问题)
  • 默认情况下未设置选项# doctest: +ELLIPSIS

如何从此django load_tests()挂钩设置此类选项?

1 个答案:

答案 0 :(得分:1)

好的,我已经知道了。像ELLIPSISFAIL_FAST这样的Options flags可以 作为DocTestSuiteoptionflags参数提供。

正如报道here所述,正确组合它们的方法是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