現在の状況
ビルド前のテストとして、Javaフィクスチャへのコミット/変更が、フィットネスサーバーにあるフィットネステストを壊さないことを確認しようとしています。
私がとったアプローチは、コミットが壊れないことを確認したいすべてのテスト (context.txt) ファイルを取得し、それをできる限り解析し、プロジェクトからのリフレクションを使用して取得できる利用可能な方法と比較することです.
現在、利用可能なすべての Java フィクスチャについて、「クラス名」から「クラス オブジェクト」への HashMap があります。また、すべてのフィットネス テストにファイル オブジェクトとしてアクセスすることもできました。次のようになります。
HashMap<String, Class<?>> availableJavaClassesMap = initJavaMap();
List<File> allFitnesseTestFiles = initTestFiles();
ゴール
今、私はこのようなことをしたいと思っています:
HashMap<String, Method> parsedMethodsFromFitnesseMap;
For(File file: allFitnesseTestFiles) {
parsedMethodsFromFitnesseMap.addAll( parseFile( file ) );
}
次に、単純に 2 つの HashMap を比較して、parsedMethodsFromFitnesseMap HashMap が availableJavaClassesMap HashMap のサブセットであることを確認します。
心配事
- インクルード ファイル: これらの最初の/その他のアプローチの解析を処理する方法
- シナリオ: 既知のシナリオとその仕組みの独自のリストを作成する
理想的なソリューション
- これを行う既に作成されたパーサーはありますか?
- Slim Codeを見つけたので、自分のニーズに合わせてリファクタリングできると思います。
- これは、このビルド前チェックの最良のアプローチですか?
ノート
各テストの実行には非常にコストがかかるため、すべてのテストを実行して、それらがまだ機能するかどうかを確認することは、私のニーズのオプションではありません。
アイデア?ありがとう。