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

从覆盖范围运行测试。py vs测试跑步者的跑步覆盖率

  •  3
  • alecxe  · 技术社区  · 8 年前

    Coverage.py with Ned Batchelder python(巨蟒);测试播客,Brian和Ned简要讨论了,如果您需要运行覆盖率测试, 最好从运行测试 coverage.py 执行 coverage run 而不是调用具有覆盖率的测试运行程序。这是为什么?有什么区别?


    为了说明这一点:目前我正在使用 nose 测试runner并在 nosetests 命令行工具 --with-coverage option :

    $ nosetests --with-coverage --cover-html
    

    我应该通过 coverage run -m 相反

    $ coverage run -m nose
    $ coverage report
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Ned Batchelder    8 年前

    我想我完全有资格回答这个问题:)

    mwchase和mgilson在他们的评论中说得对:使用插件意味着你依赖于插件的行为是正确的和可理解的。以帮助的名义,插件将有自己的逻辑,这可能是编写时最好的想法,但测试运行程序和/或覆盖范围。与此同时,py可能已经改变了。插件的维护往往不如其他组件好。如果你能避免它们,你就少了一件事要考虑。

    事实真相:我首先添加对.coveragerc配置文件的支持是因为我想为覆盖范围添加特性。py,不想等待插件UI更新以支持它们。