Movatterモバイル変換


[0]ホーム

URL:


プログラミングと投資

テクノロジーを使って、投資の分析をしています。

トップ>Java>Java JUnit5で単体テストをする方法(ユニットテスト)

Java JUnit5で単体テストをする方法(ユニットテスト)

JUnit5を使って、Java単体テストをする方法を書いていきます。JUnit5のアノテーションの役割も記載しています。

バージョン

動作確認で使用した製品のバージョンは以下の通りです。

目次

  1. ビルドファイルの作成
  2. テストクラスの作成
  3. テスト対象の作成
  4. テストの実行
  5. JUnit5のアノテーションについて

1. ビルドファイルの作成

Mavenのビルドファイルを作成して、JUnitへの依存関係を追加します。

pom.xml

<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 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>org.example</groupId>  <artifactId>junit5-test</artifactId>  <version>1.0.0</version>  <packaging>jar</packaging>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>    <maven.compiler.source>17</maven.compiler.source>    <maven.compiler.target>17</maven.compiler.target>  </properties>  <dependencyManagement>    <dependencies>      <dependency>        <groupId>org.junit</groupId>        <artifactId>junit-bom</artifactId>        <version>5.9.2</version>        <type>pom</type>        <scope>import</scope>      </dependency>    </dependencies>  </dependencyManagement>  <dependencies>    <dependency>      <groupId>org.junit.jupiter</groupId>      <artifactId>junit-jupiter</artifactId>      <scope>test</scope>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-surefire-plugin</artifactId>        <version>3.0.0-M8</version>      </plugin>    </plugins>  </build></project>

maven-surefire-pluginが古いと、JUnit5のテストを実行してくれないことがあります。上のように、新しいバージョンを指定するのが良さそうです。

2. テストクラスの作成

Calcクラスのテストを行うコードを作成します。

src/test/java/org/example/CalcTest.java

package org.example;import static org.junit.jupiter.api.Assertions.assertEquals;import org.junit.jupiter.api.Test;class CalcTest {privatefinal Calc calc =new Calc();@Testvoid testAdd() {// 実行int result = calc.add(1,2);// 検証    assertEquals(3, result);  }}

3. テスト対象の作成

テスト対象のクラスは以下の通りです。

src/main/java/org/example/Calc.java

package org.example;publicclass Calc {publicint add(int x,int y) {return x + y;  }}

4. テストの実行

IDEでテストクラスを実行するか、プロジェクトのルートディレクトリで以下のコマンドを実行します。

mvn test

5. JUnit5のアノテーションについて

JUnit5のアノテーションについて、一部になりますが解説を記載します。

5.1. 概要

以下のアノテーションは、メソッドに付与します。

アノテーション 解説
@Test テスト対象になります。
@BeforeEach 各テストが実行される前に呼び出されます。
@AfterEach 各テストが実行された後に呼び出されます。
@BeforeAll 全てのテストが実行される前に呼び出されます。
@AfterAll 全てのテストが実行された後に呼び出されます。

@BeforeAll と @AfterAll のメソッドは static にします。

5.2. 使用例

アノテーションの使用例は以下の通りです。

src/test/java/org/example/ExampleTest.java

package org.example;import org.junit.jupiter.api.AfterAll;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeAll;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;class ExampleTest {// 全てのテストが実行される前に実行@BeforeAllstaticvoid beforeAll() {    System.out.println("beforeAll");  }// 全てのテストが実行された後に実行@AfterAllstaticvoid afterAll() {    System.out.println("afterAll");  }// 各テストが実行される前に実行@BeforeEachvoid beforeEach() {    System.out.println("beforeEach");  }// 各テストが実行された後に実行@AfterEachvoid afterEach() {    System.out.println("afterEach");  }// テスト1@Testvoid testOne() {    System.out.println("test1");  }// テスト2@Testvoid testTwo() {    System.out.println("test2");  }}

5.3. 実行結果

上のテストクラスを実行すると、以下のように出力されます。

beforeAllbeforeEachtest1afterEachbeforeEachtest2afterEachafterAll
プロフィール
id:mamorumsid:mamorums

記事を見ていただけて嬉しいです。よろしくお願いします。

検索

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp