Use*_*456 5 php tdd phpunit unit-testing laravel-5
如何在验证错误中抛出的php单元中测试特定的验证错误?使用以下代码,我们可以检查会话是否有错误,但不是确切的错误
$this->assertSessionHasErrors();
Run Code Online (Sandbox Code Playgroud)
assertSessionHasErrors可以接收一个数组,如下所示:
$this->assertSessionHasErrors([
'field' => 'Field error message.'
]);
Run Code Online (Sandbox Code Playgroud)
得到了答案
$errors = session('errors');
$this->assertSessionHasErrors();
$this->assertEquals($errors->get('name')[0],"Your error message for validation");
Run Code Online (Sandbox Code Playgroud)
$ errors是MessageBag对象,当使用$ errors-> get('name')引发验证错误时,它存储在laravel会话中,您可以将所有验证错误视为一个数组
assertStatus您可以使用和的组合assertJson
...
->assertStatus(422)
->assertJson([
'errors' => [
'field' => [
'Error message'
]
]
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7059 次 |
| 最近记录: |