従来のRailsアプリのテストスイートを構築しているところです。このsimplecov
宝石は、テストカバレッジが必要な(または完全に使用されておらず、削除しても問題ない可能性がある)アプリの暗いコーナーを見つけるのに最適です。私はsimplecov
単に以下を上部に含めることによって呼び出していますtest/test_helper.rb
:
require 'simplecov'
SimpleCov.start('rails')
問題は、これがテンプレートに埋め込まれているすべてのコードをチェックしないことです。そこにはあらゆる種類のがらくたがあり、その多くはただ削除できると確信していますが、コードカバレッジツールが未使用のビットを教えてくれると本当にいいでしょう。
Ruby 1.9のライブラリを試してみると、コンパイルされたテンプレートを直接ロードするのではなくCoverage
、テンプレートが何らかの方法でRubyコードにプリコンパイルされ、Rubyソースファイルに保存されてから、load
edまたはdされた場合にのみ、このジョブを実行できると思います。require
とeval
。または、ERBをハッキングして、コンパイルプロセス中に各テンプレートの各行にログステートメントを追加することができる場合があります。
ERBテンプレートのコードカバレッジを測定する方法について他に何かアイデアはありますか?これを行うことができる既製のツールを知っていますか?(または、それをビルドしてリリースするのは私である必要がありますか?)