2013-05-12 58 views
4

我想在Ruby項目中使用simplecov gem。然而我失敗了。這是我迄今爲止所做的。在Ruby項目中使用SimpleCov

我的項目結構爲: ProjectFolder - LIB - 測試

我有我的測試和源代碼測試的庫。我在測試目錄中創建了一個test_helper.rb並添加了以下內容。

require 'simplecov' 
SimpleCov.start 

然後我在每個測試文件中都放了'require'test/test_helper.rb'。發生了什麼事情有時候會產生一些報告,有時甚至沒有。當它做到時,它是不一致的。

我發現的所有教程都是針對Rails的,所以我再次轉向StackOverflow,向我展示了方法。

+0

您對其他任何要求?您還正在運行所有測試以獲取您正在查找的報告?如果你運行單獨的測試,它只會跟蹤那些測試覆蓋的行,所以這並不令人感到意外。 – vgoff 2013-05-12 20:29:03

+0

好吧,我認爲第一部分很重要。我一直在需求的底部。我最終創建了一個測試套件,以便所有測試一起運行,並且工作正常。謝謝。如果你能寫這個答案我會接受它。 – eytanfb 2013-05-12 21:35:14

回答

4

Rcov/SimpleCov將只報告測試運行的覆蓋範圍。

要獲得完整的覆蓋率報告,您必須確保完整的測試套件作爲最後一個測試運行,以構建完整的覆蓋率報告。

您還需要確保它是test_helper.rb文件中的第一個需求。

documentation

注意:如果SimpleCov啓動後您的應用程序代碼已經 加載(通過需要),就無法跟蹤您的文件和它們 報道! SimpleCov.start必須在您的任何 應用程序代碼是必需的之前發佈!

+0

我正在使用SimpleCov,但基本上邏輯是一樣的。感謝你的回答 – eytanfb 2013-05-12 22:03:51