我只是爲傳統的Rails應用程序構建測試套件。 simplecov
寶石非常適合尋找需要測試覆蓋的應用程序的黑暗角落(或可能完全未使用並可以移除的應用程序)。我調用simplecov
只需通過包括的test/test_helper.rb
頂部以下內容:如何測試Rails ERB模板的代碼覆蓋率?
require 'simplecov'
SimpleCov.start('rails')
的問題是,這並不檢查所有被嵌入在模板中的代碼。那裏有各種各樣的垃圾,我相信很多垃圾可以被刪除,但如果一個代碼覆蓋工具可以指向未使用的位,這將非常好。
一些實驗用Ruby 1.9的Coverage
庫使我相信它只能做的工作是在模板不知何故預編譯Ruby代碼,保存在Ruby源文件,然後load
編輯或require
d,而不是直接使用eval
加載已編譯的模板。或者,在編譯過程中,可能會破解ERB以向每個模板的每一行添加日誌記錄語句。
有沒有人有任何其他想法如何衡量ERB模板的代碼覆蓋率?你知道一個可以做到這一點的已經制作好的工具嗎? (或者我將不得不建立和釋放它的人嗎?)
好的。謝謝。我會接受這個答案......但後來我想我可能只需要自己爲這個問題創建一個解決方案,如果我這樣做了,那將會成爲公認的答案。 –