是否有可能只测试与文档测试特定功能的模块中?(Is it possible to only test

2019-07-28 20:54发布

我试图进入使用文档测试模块Python测试。 目前,我做

  1. 写出功能测试。
  2. 实现的功能代码。
  3. 如果测试通过,编写更多的测试和更多的代码。
  4. 当函数完成移动到下一个函数来实现。

因此,经过许多测试在同一模块中3个或4(独立)的功能我得到的doctest一个巨大的输出。 它是一个小annoysing。

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

我只找到了doctest.SKIP标志,这是不足够满足我的需求。 我必须把这个标志在很多线路。 如果我想再次检查的显着功能,我将不得不通过代码手动去并删除我设置内的任何标志。

Answer 1:

看起来 ,你可以通过功能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())

例如通过谷歌找到。



文章来源: Is it possible to only test specific functions with doctest in a module?