プログラミング Java

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

投稿日:2023年5月25日 更新日:

説明

@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は空欄を値として与えること。
  • テストメソッドの引数はオブジェクト型にすること。

参考情報

  1. JUnit 5 ユーザーガイド
    基本的な情報源はこちらになります。
  2. JUnit 5 clear and quick (English Edition)

    Junit5についてまとまっている書籍です。
    英語版ですがページ数も少なめなので、Junit5の日本語書籍が無い(執筆時点の筆者調べ)中では手始めに読むには良いかもしれません。

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

ランキング評価する

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

執筆者:


comment

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

CAPTCHA


関連記事

【SpringBoot入門】#13~ 独自のエラー画面の作成

概要 何らかのエラーが発生した場合に、エラー画面を表示して対応したいことがあります。 デフォルトのwhite label Error pageのままというわけにはいかないので、 独自のエラー画面を作成 …

Laravelのヘルパー関数とは?

Laravel includes a variety of global “helper” PHP functions. Many of these functions are …

【SpringBoot入門】#2~ 開発環境を準備しよう(DB)

DB(MySQL) ダウンロード MySQLダウンロード 私の環境がWindowsのため、画像はWindows用になっています。 あなたの環境に合わせたOSを選択してDLして下さい。 インストール ダ …

AWSへWebアプリケーション(Java)をデプロイする方法(書籍紹介)

対象者 ・個人開発者 ・ポートフォリオ作成者 手順 こちらの書籍を参考に私自身がAWSにデプロイした手順です。 書籍では図解もあってわかり易く解説されているので、ここでは流れを簡潔に説明します。 すで …

オブジェクト指向がわかるようになるためにする3つのこと

オブジェクト指向がいまいちわからない人向けに、 オブジェクト指向でプログラミングできるようになるまでのステップを以下にまとめました。   Javaでプログラミングする Javaはオブジェクト …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

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

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