Тест Laravel см. JsonContains - PullRequest
       1

Тест Laravel см. JsonContains

0 голосов
/ 18 октября 2018

Я получил этот результат после запуска Unit Test.

Результат:

1) Tests\Functional\Controllers\Api\UsersControllerTest::testUsersIndex
Unable to find JSON fragment
[[{"email":"FRoAff4@mail.com","id":"706"}]]
within
[{"data":[],"draw":0,"error":"Not Found","recordsFiltered":0,"recordsTotal":1}].
Failed asserting that false is true.

Код:

$this->seeJsonContains([
  'id'    => $user->id,
  'email' => $user->email,
]);

Если в параметре добавить true, это работает,Я не понимаю, что параметр задачи является логическим значением (true, false) здесь.

После:

$this->seeJsonContains([
  'id'    => $user->id,
  'email' => $user->email,
 ], true);

1 Ответ

0 голосов
/ 18 октября 2018

Второй параметр seeJsonContains отрицает утверждение, означая, что оно переключится с assertTrue на assertFalse.Вот почему ваш тест проходит успешно, потому что вместо этого он проверяет, содержит ли JSON NOT значения id и email.

Чтобы пройти тест, убедитесь, что ваш UsersController@testUsersIndex возвращает правильный JSON.

В вашем случае: [[{"email":"FRoAff4@mail.com","id":"706"}]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...