【问题标题】:Ruby Test Coverage Mapping ToolRuby 测试覆盖映射工具
【发布时间】:2012-01-18 21:36:52
【问题描述】:

我想将大量测试(rspec、test-unit、cucumber、selenium 等)映射到一个非常大 (RoR) 的代码库,并寻找交叉点和重叠,以减少测试的数量正在运行,同时保持代码覆盖率。我看过 SimpleCov(per:Ruby test coverage tool),但它不够广泛。

顺便说一句,一位同事提到了一个 Hudson 插件,这可能是我正在寻找的,但不记得它的名称,并且一些基本搜索没有产生任何有用的结果。

谢谢! -j

【问题讨论】:

  • Hudson 不久前更名为 Jenkins。它是一个持续集成服务器。它可以为您运行覆盖测试,但它不包括任何。
  • 由于simplecov 如此标准,您最好陈述您对“不广泛”的原因的假设
  • 我对它“不是扩展足够”的假设是,从我所见,它没有做我想做的事情。我在所有个人工作和我上面提到的网站中都使用 SimpleCov,它是一个很棒的工具,它只是不能解决我在 OP 中尝试解决的问题。

标签: ruby-on-rails ruby rspec cucumber code-coverage


【解决方案1】:

似乎主要的答案是,那里真的没有任何东西,至少,我找不到。然而,话虽如此,对于大多数应用程序,在大多数情况下,SimpleCov 是人们正在寻找的。​​p>

【讨论】:

  • 请务必签出DeepCover
【解决方案2】:

为什么 simplecov 还不够?

您可以在下面查看 simplecov 使用的是什么:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html

SimpleCov 只是使用了 ruby​​ 1.9 中添加的 api。

【讨论】:

  • 老实说,在提出这个问题时,我对 SimpleCov(我们确实使用过)并不是很熟悉。也就是说,考虑到我提到的最初问题,SimpleCov 并没有解决它。至少从我所看到的情况来看不是。我正在寻找可以放入顶层的东西,它将明确识别重叠测试并识别可以在不丢失覆盖范围的情况下删除的测试。我会更深入地研究“coverage.so”,看看那里是否有我遗漏的东西。谢谢!
  • 问题是你什么时候决定两个测试重叠?两个测试可以执行相同的代码而不会真正重叠,这很难隔离所有内容并且并不总是一件好事。我真的怀疑任何完全自动化的东西真的能告诉你。
  • 同意,开始认为我正在寻找的东西不存在,因为这并不完全可能。谢谢!
【解决方案3】:

DeepCover 是当今最好的 Ruby Coverage 工具。

它提供完整的表达式覆盖(一行代码的每个单独部分,而不仅仅是一行),完整的分支覆盖,etc...

披露:我是DeepCover 的合著者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多