🏢

[Laravel] assertJsonStructureは空配列を検証できないので、assertJsonPathで空配列かどうか比較する

2022/09/15に公開

概要

$response->assertJsonStructure([
    'data' => [
	'getUsers' => [
	    'users' => [],
	],
    ],
]);

assertJsonStructure ではこの users が空かどうか検証できないので、 assertJsonPath を用いて空配列かどうかを検証する。

方法

assertJsonPath で配列の 0null であるか?を検証すれば、実質的に空配列かどうか検証できる。

$response->assertJsonPath('data.getUsers.users.0', null);

list (添字が0からの連番)の場合はこれで対応できるが、添字が文字列などの場合は他の方法を用いる必要がある。

Discussion