如何测试验证错误在laravel单元测试中抛出准确的错误和消息

问题描述 投票:3回答:2

如何在验证错误中抛出的php单元中测试特定的验证错误?使用以下代码,我们可以检查会话是否有错误,但不是确切的错误

$this->assertSessionHasErrors();
php unit-testing laravel-5 phpunit tdd
2个回答
7
投票

assertSessionHasErrors可以收到一个数组,as documented

$this->assertSessionHasErrors([
    'field' => 'Field error message.'
]);

4
投票

得到了答案

    $errors = session('errors');
    $this->assertSessionHasErrors();
    $this->assertEquals($errors->get('name')[0],"Your error message for validation");

$ errors是在使用$ errors-> get('name')抛出验证错误时存储在laravel会话中的MessageBag对象,您可以将所有验证错误视为数组

© www.soinside.com 2019 - 2024. All rights reserved.