【问题标题】:Code Coverage and Unit Testing of Python CodePython代码的代码覆盖率和单元测试
【发布时间】:2012-07-31 03:49:25
【问题描述】:

我已经访问过Preferred Python unit-testing framework。我不仅关注 Python 单元测试框架,还关注单元测试的代码覆盖率。到目前为止,我只遇到过coverage.py。有没有更好的选择?

对我来说一个有趣的选择是通过插件将cpython、Python 代码的单元测试和 Python 代码的代码覆盖率与 Visual Studio 2008 集成(类似于IronPython Studio)。可以做些什么来实现这一目标?我期待着建议。

【问题讨论】:

  • 也许你可以定义“更好”。你想做什么,coverage.py 没有做什么?你需要它如何变得更好?
  • 当我提到“更好”时,我指的是限制(nedbatchelder.com/code/modules/rees-coverage.html 的第 4 节)。
  • 我会补充一点,coverage.py 与 IDE(在我的特定情况下是 Eclipse)的集成会很棒。

标签: python visual-studio-2008 unit-testing code-coverage


【解决方案1】:

我们使用这个Django coverage integration,但不是使用默认的coverage.py报告,而是生成一些简单的HTML: Colorize Python source using the built-in tokenizer.

【讨论】:

    【解决方案2】:

    PyDev 似乎允许在 Eclipse 中进行代码覆盖。

    我还没有找到如何将它与我自己的(相当复杂的)构建过程集成,所以我在命令行中使用了 Ned Batchelder 的 coverage.py。

    【讨论】:

    【解决方案3】:

    还有figleaf,我认为它基于 Ned Batchelder 的 coverage.py。我们使用nose 作为测试驱动。这一切都很好。我们使用内置的 unittest 和 doctest 模块编写单元测试。

    【讨论】:

      【解决方案4】:

      NetBeans 的新 Python 支持具有紧密集成的代码覆盖支持 - more info here

      【讨论】:

        【解决方案5】:

        如果您想要交互式代码覆盖率,您可以在其中实时查看覆盖率统计数据的变化,请查看Python Coverage Validator

        【讨论】:

          【解决方案6】:

          Testoob 有一个简洁的“--coverage”命令行选项来生成覆盖率报告。

          【讨论】:

          • Orip,Testoob 的哪个分支有 --coverage 选项?我目前安装了 1.13 版本,但那里似乎没有该选项。干杯H
          • 啊,忽略这个。没有正确阅读文档。对于其他感兴趣的人,请使用以下语法: testoob --coverage=normal test_file.py 覆盖类型有静默、苗条、正常、海量或 xml
          • @howard: 很高兴你喜欢它 :) 即将推出一个新版本,对覆盖范围进行了一些改进。
          猜你喜欢
          • 1970-01-01
          • 2012-01-18
          • 2018-09-01
          • 1970-01-01
          • 2010-10-14
          • 1970-01-01
          • 2013-04-16
          相关资源
          最近更新 更多