シンプルなプロジェクトで任意のテストを実行する
maven で任意のテストを実行する場合は -Dtest
で Java System Property を渡してあげることで実行できる。
$ mvn test "-Dtest=SomeTest#testMethod"
マルチモジュール・プロジェクトで任意のテストを実行する
webappB が moduleA に依存している以下のような multi-modules project があったとする。
$ tree -L 1
.
├── moduleA
├── webappB
└── pom.xml
このとき webappB の Controller のテストだけを実行したかったら、-pl
オプションでモジュール名を指定すれば無事動く。
$ mvn test -pl webappB "-Dtest=SomeControllerTest#testGet"
依存モジュールの修正を反映しつつ任意のテストを実行する
この場合、依存する moduleA はワーキングツリーではなく local repository である ~/.m2/repository/
以下の jar を参照する。そのため moduleA にも変更がある場合には少し困りもの。
その場合は、mvn install
で moduleA の修正を一旦 local repository に入れてから mvn test -Dtest
を実行する。
コマンドは以下の通り。
$ mvn install -pl moduleA
$ mvn test -pl webappB "-Dtest=SomeControllerTest#testGet"
各種 IDE でも mvn install
相当の機能があると思うので解決できると思う。