プログラミング 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サンプル】自動販売機(Level4) ドメイン駆動

前回(Level3) Level3ではクラス分けすることを行いました。 しかし、私の目指すところのドメイン駆動開発になっていません。 また、ロジックもまだまだ複雑さが残っており、ぱっと見て何をやってい …

junit, テスト, junit5

【Junit5】最小構成のテストクラス

概要 Junit5の最小構成のテストクラスはテストメソッドを1つだけもつクラスです。 テストメソッドが0個だとテストクラスとして認識されません。 環境 Java11 Junit5.7 Gradle7. …

【Java】HashSetの使い方(順序なしSet)

HashSetの使い方をまとめました。 HashSetに関する使い方のサイトは他にもありますが、 それらのサイトには書かれていないメソッドについても書いてあります。 HashSetの基本情報 ・重複す …

Git BashでUniCodeに文字化けする時の対処法

大変参考になったサイトのエイリアスです。 git diff や git status での日本語の文字化けを防ぐ (core.page, core.quotepath) 私は自分のブログをリファレンス …

junit, テスト, junit5

JUnit5の環境構築

概要 JUnit5を使う環境を構築します。 IDE:IntelliJ IDEA ビルドツール:Gradle 環境構築 IntelliJのダウンロード こちらからCommunity版をダウンロードします …

SpringFramworkの良書

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

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