私は、50,000 個のソース ファイルがあり、約 5000 個のテストが 2000 個のクラスにまたがる大規模なプロジェクトを扱っています。これらはほとんどが JUnit 3 で、JUnit 4 がわずかに含まれています。これらのテストは、バッチ ファイルから頻繁に (毎日または毎週) 実行され、製品が機能し、リグレッションやその他の問題が発生していないことを確認します。
ソース ファイルまたはクラス ファイルを列挙して、プロジェクト内のテスト ケースを表すクラスとメソッドのリストを作成したいと考えています。このリストを比較して、バッチ ファイルによって実行されていないテストを特定できます。
JUnitの機能など、これを行う簡単な方法はありますか? または、JUnitにプログラムで駆動して取得できる機能がありますか。たとえば、クラスファイルでいっぱいのディレクトリをスキャンして、どれがテストであるかを判断します。各クラスを個別にロードして特定の特性について調べ始めるコードを書くことができることを認識していますが、何かが存在する場合はそれを使用できるようにしたいと考えています。
質問の 2 番目の部分は、テストに注釈を付けるために一般的に使用される方法はありますか? テストに注釈を付けることができれば、それらをフィルタリングして、フィルター基準に従って実行するバッチ ファイルをオンザフライで生成できる可能性があります。たとえば、ネットワーク接続を必要とするすべてのテストを実行し、サブシステム A を使用するすべてのテストを実行します。
これを行うのに役立つものはありますか? コンマで区切られた値のリストなどを使用して独自の注釈を作成できることはわかっていますが、おそらくこの種のことは形式化されており、それを操作するツールがあります。