У меня есть следующий тест:
public function testStoreMemberValidation()
{
$response = $this->withExceptionHandling()->post('/api/members', [
"name" => "Eve",
"age" => "invalid"
], ['X-Requested-With' => 'XMLHttpRequest']);
dd($response->json());
};
Я пытаюсь утверждать, что ответ имеет форму ошибки проверки. Метод контроллера следующий:
public function store(Request $request)
{
$data = $request->validate([
'name' => 'required|string',
'age' => 'required|integer',
]);
Member::create($data);
}
Однако всякий раз, когда я вызываю какое-либо утверждение, которое вызывает $response->json()
(а это большинство из них), я получаю исключение:
Illuminate \ Validation \ ValidationException: данные неверны.
Как я могу выполнить утверждения по этому ответу, не вызывая эту ошибку?
Обратите внимание, я использую Laravel 5.7.
$this->withoutExceptionHandling
. - person Martin Bean   schedule 02.11.2018$this->postJson()
, чтобы избежать добавления заголовкаX-Requested-With
вручную, и вы можете проверить наличие ошибок проверки с помощью$response->assertJsonValidationErrors('field_name')
. - person Martin Bean   schedule 02.11.2018$this->postJson()
, похоже, исправило его. Я почти уверен, что нигде не звонил$this->withoutExceptionHandling()
. - person thodic   schedule 02.11.2018