動作環境
java 1.8
Spring Boot 2.2.4
JUnit4
プロジェクト構造
- 初学者のため構造が雑なのはご容赦下さい
src
│ ├── main
│ │ └── 省略
│ │
│ └── test
│ └── java
│ └── com
│ └── testTool
│ ├── TestToolApplicationTests.java
│ └── web
│ ├── controller
│ │ └── TestToolControllerTest.java
│ └── service
│ └── TestToolServiceTest.java
問題点
- CIパイプラインからテストを実行するため、コマンドからテストを実行する必要がある
-
$ mvn test
のコマンドを打てばsrc/test配下のjavaファイルがすべて実行されると思っていた。 - しかし実行されたのは
TestToolApplicationTests.java
のみであった - どうやらsrc/test/web配下に存在するjavaファイルは読み込まれていないみたいだ
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.028 s
[INFO] Finished at: 2020-05-27T15:42:18+09:00
[INFO] ------------------------------------------------------------------------
解決策
- pom.xmlに下記を追加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- ここから追加 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
<!-- ここまで追加 -->
</plugins>
</build>
結果
- 実行できた
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.559 s
[INFO] Finished at: 2020-05-27T16:39:06+09:00
[INFO] ------------------------------------------------------------------------