5

標準的な規則に従って、ソース コードと単体テストを別々のフォルダーに保存します。テストを作成するときも、同じパッケージ構造に従います。

たとえば、フォルダー内のOrderGeneratorパッケージにクラスがある場合、単体テストはフォルダー内にあります。com.kshitizsrcOrderGeneratorTestcom.kshitiztest

私の現在のセットアップでは、このタイプの組織はしばらくすると管理不能になります。コードの前に単体テストを書くことができません。他の開発者がコードの作成を担当しており、私はテスト ケースのフォローアップを行うことになっています。(はい、逆であるべきだとはわかっていますが、仕方ありません)

テスト ケースは 2 番目に書かれているので、すべてのパッケージを調べてクラスを探し、それらのクラスのメソッドを探して、それらのテストが確実に行われるようにする必要があります。数百のクラスと数千のメソッドがあると、非常に苦痛です。

テスト ケースのカバレッジがコードと一致していることを確認する方法はありますか? 対応するテストケースがどこかにないクラスを見つける簡単な方法はありますか?

Java、Eclipse、および Junit 4 を使用しています。

4

2 に答える 2

5

エクルエマ

EclEmma は、Eclipse 用の無料の Java コード カバレッジ ツールであり、Eclipse Public License の下で利用できます。これにより、コード カバレッジ分析が Eclipse ワークベンチに直接取り込まれます。

  • 迅速な開発/テスト サイクル: JUnit テストの実行などのワークベンチ内から起動し、コード カバレッジを直接分析できます。
  • 豊富なカバレッジ分析: Java ソース コード エディターでカバレッジ結果がすぐに要約され、強調表示されます。
  • 非侵襲的: EclEmma では、プロジェクトを変更したり、その他のセットアップを実行したりする必要はありません。

コード カバレッジは、テストによって (直接的または間接的に) テストされるクラスだけでなく、どのメソッドとその中のどのブランチがテストによってカバーされるかを示します。初期のテスト作業をどこに費やすべきかを理解するための非常に優れたガイドになる可能性があります。

提供されるレポートの種類は次のとおりです。

ここに画像の説明を入力

右下のパネルで各クラスがどの程度カバーされているかを確認できます。したがって、下から 2 番目のクラスはほとんどテストされていません。右上には、カバーされているブランチが表示されます。明らかに、そのメソッドは空の入力でテストされたことはありません。

于 2012-09-18T06:46:53.220 に答える
2

プロジェクトの性質によっては、Eclipse プラグインとしても利用できるCloverに興味があるかもしれません。詳細については、アトラシアンの Web サイトを参照してください。

于 2012-09-18T07:00:06.077 に答える