JSONによるテストデータ定義¶
この文書では、JSONでテストデータを定義する方法について紹介します。
入力データと期待データ¶
JSON形式でテストデータを定義するには、 .json
という拡張子のUTF-8テキストファイルを作成して下さい。
ここにJSON形式の「オブジェクト」を列挙することで、それらを入力データや期待データの列として利用できます。
{
"sid": 1,
"shipped_date": "2010-12-01 12:00:00",
"item_code": 1
}
{
"sid": 2,
"shipped_date": "2010-12-01 12:00:00",
"item_code": 2
}
{
"sid": 3,
"shipped_date": "2010-12-01 12:02:00",
"item_code": 2
}
また、それぞれのプロパティ名はDMDLと同様に snake_case
の形式で指定します。
それぞれのプロパティに対し、以降で紹介する値を設定できます。
Attention
作成したJSONファイルは、必ず .json
という拡張子で保存して下さい。
それ以外の拡張子を指定した場合、テストドライバーはJSONファイルとして取り扱いません。
Attention
JSONファイルはJSONの配列ではなく、JSONのオブジェクトを列挙した形で指定してください。 オブジェクトの区切りにカンマ等も不要です。
数値¶
数値を表す値を入力するには、プロパティにその数値を記述するか、またはその数値を表す文字列を記述します。
文字列が入力された場合、次の方法で適切な数値に変換します。
データ型 | 変換方法 |
---|---|
long までの整数 |
Long.parseLong |
double までの浮動小数点 |
Double.parseDouble |
上記以外の数値 | new BigDecimal(...) |
その後、実際の型に合わせて値が切り詰められます。 値が切り詰められる際に、オーバーフローやアンダーフローが発生する場合もあります。
Hint
精度の高い数値を利用したい場合、文字列の形式で指定しておく方が無難です。
文字列¶
文字列を入力するには、プロパティに文字列リテラルを指定します。
論理値¶
論理値を表す値を入力するには、 true
または false
を直接指定します。
日付と時刻¶
日付や時刻を表す値を入力するには、それぞれを表す文字列を記述します。
現在のところ、日付は -
(ハイフン) 区切りで時刻は :
(コロン)区切り、日付と時刻はホワイトスペースで区切ります。
日付を指定する場合には、年月日のすべてを指定する必要があります ( "1999-12-31"
など)。
時刻を指定する場合には、24時間表記で時分秒を全て指定する必要があります ( "12:34:05"
など)。
NULL値¶
プロパティにNULLを指定する場合、JSONオブジェクトからそのプロパティを取り除きます。 テストドライバーは未定義のプロパティを単にNULLとして取り扱います。
テスト条件¶
現在のところ、JSONでテスト条件を記述することはできません。 他の形式のテストデータと組み合わせて利用するか、テスト条件のみをJavaで直接記述して下さい。
テストデータの利用¶
作成したテストデータのJSONファイルは、テストドライバーの規約に従って配置して下さい。 このファイルをテストドライバーから参照する際には、ファイルパスを直接指定します。