我试图测试Service类的validate()方法,该方法接受一个Request对象。通常,当提交前端的表单时,我将Request对象作为控制器方法中的参数并将其发送到Service,但现在我想测试该方法,我使用phpunit并且我想创建我的拥有Request对象并将它们发送到Service类,以查看它是否应该如何反应。我的测试方法如下:
public function testWhenUsernameIsNotSetGetValidationError()
{
$request = new Request();
$request->request->add(['email' => 'test@email.com', 'password' => 'test123', 'password_confirm' => 'test123']);
dd($request->all());
$this->assertFalse($this->regService->validate($request));
}
问题是,
dd($request->all())
打印出一个空数组([])。
为什么会这样?我是否需要以某种方式添加此数据?
答案 0 :(得分:3)
使用merge()
方法:
$request->merge(['email' => 'test@email.com', 'password' => 'test123', 'password_confirm' => 'test123']);