【Junit5】@ParameterizedTestでnullを扱う方法

当ページのリンクには広告が含まれています。

目次

説明

@ParameterizedTestでnullを扱うには、値を空欄にする必要があります。
「null」という値を与えても文字列として扱われてしまうので注意が必要です。

コード

nullをテストする

以下の例では@CsvSourceで値を与えています。

  • 1行目のデータでは「null」を与えているように見えますが、実際には「null」という文字列を与えていることにります。
    そのため、assertではnullでないと判定されます。
  • 2行目では値が空欄になっており、これでnullを与えたことになります。

引数はオブジェクト型にすること

nullは参照型にしか与えられない値なので、テストメソッドの引数をプリミティブ型にすると例外がthrowされてテストに失敗するので注意して下さい。
(以下のテストデータの2行目)

[例外]
org.junit.jupiter.api.extension.ParameterResolutionException: Error converting parameter at index 1: Cannot convert null to primitive value of type int

まとめ

  • nullは空欄を値として与えること。
  • テストメソッドの引数はオブジェクト型にすること。

参考情報

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

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

この記事を書いた人

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

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次