代码之家  ›  专栏  ›  技术社区  ›  c089

可以用unit2运行doctest吗

  •  3
  • c089  · 技术社区  · 14 年前

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

    2 回复  |  直到 14 年前
        1
  •  3
  •   konryd    14 年前

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

    与此同时。您可能想看看tox(这里由unittest2创建者描述) http://www.voidspace.org.uk/python/weblog/arch_d7_2010_07_10.shtml

        2
  •  1
  •   Brandon Rhodes    13 年前

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

    http://docs.python.org/library/doctest.html#unittest-api

    注意,您可以将模块名称传递给 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