プログラミング Java

【JUnit5】テストコードの基本

投稿日:

概要

JUnit5でテストコードを書く基本について学ぶ。

テストの命名規則

テストクラス、テストメソッドの記述には一般的な慣例があります。
ここではそれらを紹介しますが、実際にはプロジェクト内でのコーディング規約やルールに従うようにして下さい。

クラス名

テストのクラス名は、テスト対象のクラス名に「Test」を付加した名称にする慣習があります。

(例)

テスト対象クラス Calculation.java
テストクラス CalculationTest.java

メソッド名

テストするメソッドの頭に「test」を付加する慣習があります。
また、テストするケースによって名称を具体的に示します。
メソッド名は日本語で記述することもできます。

(例)

テスト対象メソッド add(x, y)
テストメソッド testAdd()
testAdd_NegativeNumbers()
小数同士を加算する()

基本的な構成

テストコードは次の4つで構成されています。

事前準備(setup)

テストを実行可能な状態にするステップです。
特に行うことがなければ省略可能です。

実行(execute)

テストしたいメソッドを実行させます。
実行結果は「actual(実際の値)」という変数で保持することが慣習になっています。

検証(assert)

期待値(expected)と実行結果(actual)を検証するステップです。
大抵の場合、両方が一致することを検証します。

事後処理(tearDown)

後処理のステップです。
テストした後、余計なごみデータを削除したりします。
特に行うことがなければ省略可能です。

テストコードの例

基本的な構成をベースにテストクラスを作成しました。
HelloWorldクラスのsayメソッドの戻り値が、”Hello World!”であることを検証しています。

テスト対象クラス

テストクラス
・テストメソッドには「@Test」というアノテーションを付与します。
・テストの評価にはassertXXXメソッドを使用します。
 ここではassertEqualsという、2つの値が等価であることを検証するメソッドを使用しています。

(補足)tearDownでインスタンスにnullを代入していますがこれは冗長なコードです。
テストコードの4つの構成全てを記述する例としたためにあえてそのようにしています。

まとめ

  • クラス名は最後に「Test」を付けるのが慣例である。
  • メソッド名は最初に「test」を付けるのが慣例である。
    また、日本語にすることもできる。
  • テストコードは、事前準備・実行・検証・事後処理 の4つで構成されている。
  • テストしたいメソッドには@Testをつけること。
  • テストの評価にはassertXXXメソッドを使用する。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Java】IllegalArgumentExceptionの原因と対策方法

IllegalArgumentExceptionの原因と対策方法はとても簡単です。 基本的なことを理解すればすぐに解消できます。 IllegalArgumentExceptionとは? 不正な引数また …

【Spring Data JPA】deleteAllとdeleteAllInBatchの違い

概要 Spring JPA Dataにおける、deleteAllとdeleteAllInBatchの挙動の違いについてです。 結論から言うと、実行されるSQLが違います。 SQLの違い 【前提】 3件 …

【Javaサンプル】自動販売機(Level2) メソッドに小さく分割する

前回の自動販売機(Level1)では、まず動くものを作りました。 そこでは1つのメソッド(Main)にすべてをコーディングしていましたが、 これを機能ごとに分割していきます。 実際の仕事では、1つの大 …

VBAが書けるまでにどのくらいかかったか?

これからVBAを学ぼうとしている人向けに参考情報として書きます。 前提 前提として、私の経歴を少し書いておきます。 ・PHPでのWeb開発1年未満 ・Javaの簡易なアプリは作れる ・SQLも理解して …

idea, intellij, jet, brain, jetbrain

【IntelliJ Idea】Spring Boot DevToolsの自動ビルドを有効にする設定

IntelliJ Ideaの場合、自動ビルドの設定を有効にする必要があります。 前提 Gradle、またはMavenプロジェクトで作成しているはずなので、 dependenciesにSpring Bo …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。