2012-02-03 63 views
2

背景:運行Rails 3.2,Cucumber 1.1.4和SimpleCov 0.5.4。SimpleCov不覆蓋內部def /方法

我們已經完成了我們所有的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 

任何幫助,將這麼多的讚賞!

謝謝。

+0

類的名稱,模塊名稱和存取器聲明是在第一次加載類時自動分析的。如果你創建了一個類,然後運行那些除了加載類都什麼都不做的測試,你會看到同樣的事情。不知道你的問題的主要部分... – 2012-02-03 18:00:09

+0

@MarcTalbot - 感謝您的信息。所以,我的覆蓋率基本上是0,因爲即使沒有規格,定義也會被覆蓋。 – 2012-02-03 18:05:43

回答

2

我想我現在知道發生了什麼。我的黃瓜功能/步驟不是直接測試代碼,而是通過瀏覽器進行測試(使用水豚)。所以,覆蓋範圍可能不會貫穿代碼(控制器/模型)。

如果那是真的,是否有補救措施?我不想/需要在我的黃瓜中提到控制器/模型......而是從用戶的角度(瀏覽器)進行測試。