標準フォルダー構造 (src/main/java、src/test/java など) で Maven プロジェクトを作成しました。
クラス ClassA とテスト クラス TestA を作成しました。
ClassA のメイン プログラムから、TestA の静的メンバーを参照します。
コードはコンパイルされますが、実行すると次のようになります: NoClassDefFoundError: TestA.
ClassA 内から TestA にアクセスするにはどうすればよいですか?
問題を直接解決する代わりに、テストの設計を再考することをお勧めします。Maven は単独でテストを完全に実行できます。
mvn test
コマンドラインで。単一のテスト クラスを実行する場合は、次のように入力します。
mvn test -Dtest=MyTest
単一のテスト メソッドの場合は、次を使用します
mvn test -Dtest=MyTest#shouldRunPerfectly
ワイルドカードもサポートしているため、いくつかの一般的なテストを実行するには、次のように入力できます
mvn test -Dtest=Integration*#shouldBeFaster*
.
ほとんどの IDE では、ショートカットで直接テストを実行できます。私の記憶が正しければ、それはEclipseの場合はShift+ Alt+X、IntelliJの場合は+ +です。IntelliJ はまた、++ ショートカットを使用して、作業中のクラスのテストに移動します。TShiftCtrlF10CtrlShiftT
Maven ディレクトリ構造は、アプリケーションからのテストの分離を強調し、計画していることを実行することをはるかに困難にします。
tl;dr - Maven の方法で実行してください