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

当ページのリンクには広告が含まれています。
junit, テスト, 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メソッドを使用する。

最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リーマンショックの影響で26歳の時にIT業界から離れ、紆余曲折を経て34歳でエンジニアに復帰しました。
復帰前は開発未経験でしたが、独学した知識と面接時のコミュニケーション力で見事開発エンジニアとして復帰しました!
今はフリーランスエンジニアとして仕事をしています。

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次