在对simplecov如何确定某条线是否已通过测试进行了一些澄清之后。
我有以下方法:
def over?
end_at < Time.zone.now
end
其中end_at是对象的ActiveRecord属性。
在以下规范中进行了哪些操作:
describe CalendarEntry do
it 'can determine that an event has ended' do
@entry.end_at = 1.day.ago
@entry.over?.should be_true
end
end
运行带有coverage的规范后,它会显示以下结果:
我已经在这一行中断点调试模式运行测试,并证实了该规范确实击中它。
这不是分离的只是这一行在该方法中,示出每一个包括使用一个ActiveRecord相关联的吸气剂的线为不覆盖。可能是巧合,但似乎有点奇怪。
环境:红宝石1.9.3-P327(MRI),导轨3.2.8,0.7.1 simplecov,rspec的2.10.0
。关于为什么simplecov认为它没有被覆盖的任何想法?
答案 0 :(得分:1)
好的,所以我在Windows上运行的JRuby上添加了同样的问题。 答案实际上是向我提示的,如果没有在调试模式下运行,Simplecov可能会遗漏一些行。
(j)ruby --debug -S rspec spec
使用--debug选项确实有效,我按预期恢复了100%的覆盖率。