JUnit5で最小構成の備忘録。
Java 17 JUnit 5.8.2 eclipse 2021-12 NEW -> Project -> Maven -> Create a simple project.
x
40
40
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2
<modelVersion>4.0.0</modelVersion>
3
<groupId>JUnitTest</groupId>
4
<artifactId>JUnitTest</artifactId>
5
<version>0.0.1-SNAPSHOT</version>
6
<name>JUnitTest</name>
7
<description>JUnitTest</description>
8
9
<!-- 追加ここから -->
10
<build>
11
<plugins>
12
<plugin>
13
<groupId>org.apache.maven.plugins</groupId>
14
<artifactId>maven-compiler-plugin</artifactId>
15
<configuration>
16
<source>17</source>
17
<target>17</target>
18
</configuration>
19
</plugin>
20
</plugins>
21
</build>
22
23
<dependencies>
24
<dependency>
25
<groupId>org.junit.jupiter</groupId>
26
<artifactId>junit-jupiter-api</artifactId>
27
<version>5.8.2</version>
28
<scope>test</scope>
29
</dependency>
30
<dependency>
31
<groupId>org.junit.jupiter</groupId>
32
<artifactId>junit-jupiter-engine</artifactId>
33
<version>5.8.2</version>
34
<scope>test</scope>
35
</dependency>
36
37
</dependencies>
38
<!-- 追加ここまで -->
39
40
</project>
modelVersion |
POM のバージョン。 2022/3時点で4.0.0のみサポート。 |
groupId | プロジェクト識別子。 |
artifactId | 作成される JAR や WAR, EAR などのファイル名。 |
version |
プロジェクトのバージョン。 末尾の「SNAPSHOT」は開発中であることを示している。 |
name | プロジェクト名。 |
description |
テストされるクラス。
1
7
1
package pkg1;
2
3
public class HelloWorldJUit5 {
4
public String helloWorld() {
5
return "Hello World";
6
}
7
}
テストするクラス。
テストメソッド名は「test」から始まる必要がある。
1
15
15
1
package pkg1;
2
3
import static org.junit.jupiter.api.Assertions.assertEquals;
4
import org.junit.jupiter.api.Test;
5
6
public class HelloWorldJUit5Test {
7
8
public void testHelloWorld() {
9
HelloWorldJUit5 tester = new HelloWorldJUit5();
10
// 正常系
11
assertEquals("Hello World", tester.helloWorld());
12
// 異常系
13
assertEquals("Morning World", tester.helloWorld());
14
}
15
}
テスト結果。
pom.xmlを右クリックして、debug→maven test
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running pkg1.HelloWorldJUit5Test
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec <<< FAILURE!
pkg1.HelloWorldJUit5Test.testHelloWorld() Time elapsed: 0.02 sec <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <Morning World> but was: <Hello World>
at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)
at org.junit.jupiter.api.AssertionUtils.failNotEqual(AssertionUtils.java:62)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1141)
at pkg1.HelloWorldJUit5Test.testHelloWorld(HelloWorldJUit5Test.java:13)
Results :
Failed tests: pkg1.HelloWorldJUit5Test.testHelloWorld(): expected: <Morning World> but was: <Hello World>
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0