1

Ruby on Railsアプリケーションのコードカバレッジを計算するためにsimplecov gemを使い始めました。シンプルコーブを使用したRailsアプリケーションのテストでコード率が高い

SimpleCov.start 'rails' 

キュウリを使用したテストケースはわずかでしたが、シンプルコーブの提供率は40%でした。

このレートをより正確にするにはどうすればよいですか?

+0

私はこれがこの質問の適切な場所ではないと思います。 – MZaragoza

+0

何が問題なのかを調べるにはどうすればいいですか。間違いがある場合は、simplecov(https://github.com/colszowka/simplecov/issues)にアクセスして問題を提出してください。 –

答えて

1

測定されたカバレッジフィギュアはおそらく正確です。 Rubyのモジュール、クラス、メソッドの定義はコードなので、simplecovの実行中にモジュールやクラスを読み込むだけでは、かなりの割合のコードを扱うことができます。単一キュウリのシナリオは、あなたのクラスの多くを参照する可能性がありますので、この効果を引き起こします。レーキタスクや他の場所でのコードへの参照は、この「バックグラウンド」カバレッジを増加させます。あなたのカバレッジレポートを見て、classmoduledefの行は、定義の本文が含まれていないことに注意してください。

これと戦わないでください。ちょうどそれで動作します。シンプルコフにはコードカバレッジフィギュアの分母にモジュール、クラス、メソッドの定義が含まれているため、コードがロードされた後にsimplecovを実行しないでください。これはさらに厄介なものです。

実際、eager load all of your code so that simplecov shows you the lack of coverage in files that your tests wouldn't cause to be loaded otherwiseにすることもできます。 (シンプルコブは決してロードされないファイルを計測しません)。それは実際にあなたに正確な計測をもたらします。私は最近のプロジェクトでそれをやめなければなりませんでした。なぜなら、それは私が忘れてしまった方法でCoverallsに干渉したからですが、それはあなたにとって問題ではないかもしれません。

関連する問題