4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Maven マルチモジュール・プロジェクトで任意のテストメソッドだけを実行する方法

Last updated at Posted at 2015-01-19

シンプルなプロジェクトで任意のテストを実行する

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 相当の機能があると思うので解決できると思う。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?