Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 可以使用unit2运行doctest吗_Python_Testing_Nose_Unittest2 - Fatal编程技术网

Python 可以使用unit2运行doctest吗

Python 可以使用unit2运行doctest吗,python,testing,nose,unittest2,Python,Testing,Nose,Unittest2,为了满足python单元测试的需要,我最近从nose切换到了新的unittest2包。它做了我想要的一切,除了我不能让它的“discover”命令识别代码中的doctest之外——我仍然必须使用nose来运行它们。这是没有实现,还是我缺少了什么?Unit2只发现常规的Python测试。为了让它运行您的博士测试,恐怕您需要编写一些简单的样板文件。另外:即将推出的插件架构将使自动化这些任务变得容易 与此同时。您可能想看看tox(unittest2 creator在这里描述)告诉unit2关于您的do

为了满足python单元测试的需要,我最近从nose切换到了新的unittest2包。它做了我想要的一切,除了我不能让它的“discover”命令识别代码中的doctest之外——我仍然必须使用nose来运行它们。这是没有实现,还是我缺少了什么?

Unit2只发现常规的Python测试。为了让它运行您的博士测试,恐怕您需要编写一些简单的样板文件。另外:即将推出的插件架构将使自动化这些任务变得容易


与此同时。您可能想看看tox(unittest2 creator在这里描述)

告诉unit2关于您的doctest的样板文件实际上在当前的doctest文档中给出了,尽管我花了几分钟找到它:

请注意,您可以将模块名称传递给
DocTestSuite
构造函数,而不必自己导入模块,这样可以将样板文件的长度减半;它只需要看起来像:

from doctest import DocTestSuite
from unittest import TestSuite

def load_tests(loader, tests, pattern):
    suite = TestSuite()
    suite.addTests(DocTestSuite('my.module.one'))
    suite.addTests(DocTestSuite('my.module.two'))
    suite.addTests(DocTestSuite('my.module.three'))
    return suite

谢谢Tox真的很有趣。当我们使用sphinx构建文档时,使用它来运行doctest似乎也很好:)