【问题标题】:SimpleCov not covering inside def/methodsSimpleCov 没有覆盖 def/methods 内部
【发布时间】:2012-02-26 07:26:43
【问题描述】:

背景:运行 Rails 3.2、Cucumber 1.1.4 和 SimpleCov 0.5.4。

我们所有的 Cucumber 规范都通过了,代码应该被覆盖。但奇怪的是,当我们检查 SimpleCov 生成的 Cucumber 覆盖率报告时,methods/def 中的实际代码根本没有被覆盖。没有涵盖任何方法代码。奇怪的是,类名、模块名、访问器声明都被覆盖了!

因此,在此示例中,行 01、02、03、07 显示为已覆盖,但未显示为 04、05、08、09。

01 class Summary
02  attr_accessor :jobs
03  def initialize (events)
04    @events = events
05    createJobs
06  end
07  def createJobs
08   code here
09   code here
10  end
11 end

任何帮助将不胜感激!

谢谢。

【问题讨论】:

  • 类名、模块名和访问器声明在第一次加载类本身时被解析的意义上被涵盖。如果您创建一个类,然后运行除了加载该类之外什么都不做的测试,您会看到同样的事情。不知道您问题的主要部分...
  • @MarcTalbot - 感谢您提供的信息。所以,我的覆盖率基本上是 0,因为即使没有规范也涵盖了定义。

标签: ruby-on-rails cucumber bdd rcov


【解决方案1】:

我想我现在知道发生了什么。我的黄瓜功能/步骤不是直接测试代码,而是通过浏览器测试(使用水豚)。因此,覆盖范围可能不会通过代码(控制器/模型)运行。

如果是这样,有补救措施吗?我不想/不需要在我的黄瓜中提到控制器/模型......而是从用户的角度(浏览器)进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多