Приветствие,
Я пытаюсь создать этот тест для проверки API моих школ
$suburb = "BobsTown";
$postcode = 2000;
$response = $this->json('GET',"http://hostname/api/schools/$postcode/$suburb");
$response->
assertStatus(200)->
assertJson([[
["school_name" => "BobsTown High School",
"school_type" => "Secondary"
],
[[
"boys-enrolments" => "439",
"girls-enrolments" => "381",
"indigenous-enrolments" => "12"
]]
]]
);
Фактический упадок API заключается в следующем.
{
{
{
{
"calendar_year": "2019",
"school_name": "BobsTown Public School",
"suburb": "BobsTown",
"postcode": 2000,
"school_type": "Primary",
},
{
{
"girls-enrolments": 318,
"boys-enrolments": 359,
"indigenous-enrolments": 16,
}
}
},
{
{
"calendar_year": "2019",
"school_name": "BobsTown Valley Public School",
"suburb": "BobsTown",
"postcode": 2000,
"school_type": "Primary",
},
{
{
"girls-enrolments": 281,
"boys-enrolments": 269,
"indigenous-enrolments": 12,
}
}
},
{
{
"calendar_year": "2019",
"school_name": "BobsTown High School",
"suburb": "BobsTown",
"postcode": 2000,
"school_type": "Secondary",
},
{
{
"girls-enrolments": 381,
"boys-enrolments": 439,
"indigenous-enrolments": 12,
}
}
}
}
Этот тестовый код работает правильно, когда тестируемая школа является первой в списке, однако, как вы можете видеть, старшая школа BobsTown является последней в списке, кажется, что тест проверяет только первый элемент в списке.
phpunit возвращает эту ошибку.
--- Expected
+++ Actual
@@ @@
...
- 'school_name' => 'BobsTown High School',
+ 'school_name' => 'BobsTown Public School',
...
Я неправильно использую assert Json? Мое предположение было, что оно возвращает истину, если утверждение верно в любом месте ответа.