我已经实现了一个API端点,它返回一个JSON数组,我想测试第二个元素中的值。下面是一个示例输出-在我的真实的数据中,每个数组元素都有更多的属性。我想测试数组中不同元素的属性。例如,我可能想测试第二个元素的first_name属性。
[
{ "id" 23, "first_name": "Geri"},
{ "id" 25, "first_name": "Emma"},
{ "id" 46, "first_name": "Mel"}
]
Laravel fluent JSON测试允许您使用以下语法测试 * 嵌套 * 数组中的第n个元素
$response->assertJson(fn (AssertableJson $json) =>
$json->has('users', 3)
->has('users.1', fn (AssertableJson $json) =>
...
但我的数组是响应的根。我可以测试count和first元素,如下所示,但不知道如何测试不同的元素
$response->assertJson(fn (AssertableJson $json) =>
$json->has(3)
->first(fn (AssertableJson $json) =>
...
除了使用流畅的方法测试第一个元素之外,还有其他方法来测试特定的元素吗?谢谢
1条答案
按热度按时间q7solyqu1#
因为你的响应是一个数组,它将以和索引为前缀(就像嵌套数组一样)。因此,只需使用要访问的元素的索引即可。在你的情况下,它会是这样的: