SimpleCov不覆盖def /方法内部

时间:2012-02-03 17:20:00

标签: ruby-on-rails cucumber bdd rcov

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

我们已经通过了所有的Cucumber规范,并且应该涵盖代码。但奇怪的是,当我们检查SimpleCov生成的Cucumber覆盖率报告时,方法/ 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

任何帮助都会非常感激!

感谢。

1 个答案:

答案 0 :(得分:2)

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

如果确实如此,是否有补救措施?我不希望/需要在我的黄瓜中提到控制器/型号...而是从用户的角度(浏览器)进行测试。