JUnit5で最小構成の備忘録。
Java 17 JUnit 5.8.2 eclipse 2021-12 NEW -> Project -> Maven -> Create a simple project.
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>JUnitTest</groupId>
<artifactId>JUnitTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>JUnitTest</name>
<description>JUnitTest</description>
<!-- 追加ここから -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 追加ここまで -->
</project>
| modelVersion |
POM のバージョン。 2022/3時点で4.0.0のみサポート。 |
| groupId | プロジェクト識別子。 |
| artifactId | 作成される JAR や WAR, EAR などのファイル名。 |
| version |
プロジェクトのバージョン。 末尾の「SNAPSHOT」は開発中であることを示している。 |
| name | プロジェクト名。 |
| description |
テストされるクラス。
package pkg1;
public class HelloWorldJUit5 {
public String helloWorld() {
return "Hello World";
}
}
テストするクラス。
テストメソッド名は「test」から始まる必要がある。
package pkg1;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class HelloWorldJUit5Test {
@Test
public void testHelloWorld() {
HelloWorldJUit5 tester = new HelloWorldJUit5();
// 正常系
assertEquals("Hello World", tester.helloWorld());
// 異常系
assertEquals("Morning World", tester.helloWorld());
}
}
テスト結果。
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