JUnit の @CsvSource で、null, 空文字, 半角スペース(空白)を設定する方法を書いていきます。
バージョン
動作確認で使用した製品のバージョンは以下の通りです。
1. 指定方法
@CsvSource で null, 空文字, 半角スペースを指定する方法は以下の通りです。
package org.example.csv; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; class CsvNullEmptySpaceTest { @ParameterizedTest @CsvSource({ ", ", // null "'', ''", // 空文字 "' ', ' '", // 半角スペース " Hello , World ", // 'Hello', 'World' "' Hello ', ' World '" // ' Hello ', ' World ' }) void test(String target, String expected) { System.out.println( "[target=" + target + "] [expected=" + expected + "]" ); } }
1.1. null
文字を何も指定しないか、半角スペースだけの場合は null になります。
1.2. 空文字
シングルクォーテーションを2つ続けて空文字を指定します。
1.3. 半角スペース
シングルクォーテーションでスペースを囲みます。文字列の前後にスペースを付けたい場合も、シングルクォーテーションで値を囲みます。
2. 動作確認
上のテストを実行すると、以下の内容が出力されます。
[target=null] [expected=null] [target=] [expected=] [target= ] [expected= ] [target=Hello] [expected=World] [target= Hello ] [expected= World ]
半角スペースは、シングルクォーテーションで囲まないとトリムされています。