是否可以仅在模块中使用doctest测试特定函数?

Auf*_*ind 14 python testing flags doctest skip

我正在尝试使用doctest模块进行Python测试.目前我这样做

  1. 编写功能测试.
  2. 实现功能代码.
  3. 如果测试通过,请编写更多测试和更多代码.
  4. 当功能完成后,继续执行下一个功能.

因此,在具有许多测试的同一模块中的3或4个(独立)函数之后,我通过doctest获得了巨大的输出.这有点让人烦恼.

有没有办法告诉文档测试"不测试的功能a(),b()c() ",因此,它只能运行在无人盯防的功能呢?

我只找到了doctest.SKIP旗帜,这不足以满足我的需求.我必须将这个标志放在很多行中.如果我想再次检查一个标记的函数,我将不得不手动完成代码并删除我设置的任何标志.

and*_*oke 20

看起来你可以将函数传递给run_docstring_examples:

def f(a, b, c):
    '''
    >>> f(1,2,3)
    42
    '''

if __name__ == '__main__':
    import doctest
#    doctest.testmod()
    doctest.run_docstring_examples(f, globals())
Run Code Online (Sandbox Code Playgroud)

通过谷歌找到的例子.

  • 那么从repl做这个并且不修改源文件呢? (2认同)