我正在尝试对各种自定义FormRequest输入进行单元测试.我找到了解决方案:
建议使用该$this->call(…)方法并response使用期望值断言(链接到答案).这是过度的,因为它直接依赖于路由和控制器.
泰勒的测试,从Laravel框架 中发现的 tests/Foundation/FoundationFormRequestTest.php.那里有很多嘲弄和开销.
我正在寻找一种解决方案,我可以根据规则对各个字段输入进行单元测试(独立于同一请求中的其他字段).
SampleRequest示例:
public function rules()
{
return [
'first_name' => 'required|between:2,50|alpha',
'last_name' => 'required|between:2,50|alpha',
'email' => 'required|email|unique:users,email',
'username' => 'required|between:6,50|alpha_num|unique:users,username',
'password' => 'required|between:8,50|alpha_num|confirmed',
];
}
Run Code Online (Sandbox Code Playgroud)
期望的测试:
public function testFirstNameField()
{
// assertFalse, required
// ...
// assertTrue, required
// ...
// assertFalse, between
// ...
}
public function testLastNameField()
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
我如何单独测试(断言)每个字段的每个验证规则?