🏢
[Laravel] assertJsonStructureは空配列を検証できないので、assertJsonPathで空配列かどうか比較する
概要
$response->assertJsonStructure([
'data' => [
'getUsers' => [
'users' => [],
],
],
]);
assertJsonStructure
ではこの users
が空かどうか検証できないので、 assertJsonPath
を用いて空配列かどうかを検証する。
方法
assertJsonPath
で配列の 0
が null
であるか?を検証すれば、実質的に空配列かどうか検証できる。
$response->assertJsonPath('data.getUsers.users.0', null);
list
(添字が0からの連番)の場合はこれで対応できるが、添字が文字列などの場合は他の方法を用いる必要がある。
Discussion