JUnitでCSVのテストをする方法

JUnitでCSVのテストをする方法

JUnitで@ParameterizedTestアノテーションをつけることによってCSVのテストが可能になります。

あと@Disabledを付けるとテストメソッドが無効化されます。

その他色々検証できるので簡単に纏めてみました。

@Disabledでテストメソッドの無効化

@Disabledをメソッドにつけるとそのテストコードを無効化することができます。クラスに対してもこのアノテーションはつけることができます。

この場合、JUnitビューでは以下のように表示されます。

JUnitのAssertJの使い方

パラメータ化テストメソッド

@ParameterizedTestアノテーションをつけると色んなパラメータを渡してテストすることが可能になります。CSVファイルをパラメータで渡すことも可能だったりします。

このアノテーションを使用するときは@Testアノテーションは不要です。

stringsに限らず、intsなどいろいろ指定できます。

指定できる値
shorts
bytes
ints
longs
floats
doubles
chars
booleans
strings
classes

CSV検証

@CsvFileSourceアノテーションを使用すれば、CSVファイルの検証をすることが可能です。

パラメータ化テストメソッドである必要があります。

resourcesでcsvファイルを指定します。

numLinesToSkip = 1としてヘッダ行をスキップすることができます。省略すると0になります。

Exception検証

例外のテストも実行することが可能です。

いくつか種類がありますが、assertThatIllegalArgumentExceptionの例です。

ここでは意図的にthrowしています。

以下はassertThatExceptionOfTypeを使用した例です。引数にIndexOutOfBoundsExceptionなどの例外クラスを指定するとそのテストができます。

containsOnlyで配列やリストの要素を検証

containsOnlyを使って配列の中身が全て一致するかどうかを検証することができます。

上記のクラスのフィールドが一致しているかを確認します。(nameとageだけか検証)

配列で検証しましたがリストなどのコレクションでもテストできます。要素の順序は検証に関係ありません。

containsExactlyで配列やリストの要素を検証

containsExactlyはcontainsOnlyメソッドと違い順序も検証対象となります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA