0

-main および -test ディレクトリというフォルダー構造を持つ基本的な Maven プロジェクトがあります。

メイン ソース ディレクトリに 1 つのパッケージがあり、これはいくつかのクラス (a.class、b.class、c.class など) で構成され、すべて同じパッケージの下にあります。すべてのクラスには相互に依存関係があります。適切な単体テストを行い、各クラスから依存関係を切り離すために、a、b、c の各クラスのスタブ クラスを作成し、同じパッケージを持つように定義して、テスト ソース ディレクトリ内に配置します。次に実行します: mvn test

スタブはクラスパスから最初に検出されて使用されるようになりましたが、クラス a をテストするときに元の a.class とスタブを b に使用する必要があるように、クラスパスを (その場で?) 変更したいと考えています。 .class および c.class。同様に、クラス b をテストするときは、元のクラス b と、a.class および c.class に使用されるスタブが必要です。

Maven と JUnit を使用してこれを達成するにはどうすればよいですか?

C++ では、メイクファイルのソース パスとユーザー定義のインクルード パスを単体テスト ヘッダー ファイルで使用して、最初にスタブを強制的に検出し、次にテスト対象の元のクラスにインクルードを明示的に追加できるため、これは Java ではややイライラします。 .

4

2 に答える 2