【发布时间】:2014-09-28 08:36:52
【问题描述】:
我目前正在学习 Laravel 和 UnitTesting,所以这可能是一个愚蠢的问题。
我不知道如何最好地测试下面的控制器功能:
用户控制器:
public function store()
{
$input = Input::all();
$user = new User($input);
if( ! $user->save()){
return Redirect::back()->withInput()->withErrors($user->getErrors());
}
return Redirect::to('/user');
}
这是我目前的测试:
/**
* @dataProvider providerTestUserStoreAddsUsersCorrectly
*/
public function testUserStoreAddsUsersCorrectly($first_name, $last_name, $email, $password)
{
$response = $this->call('POST', 'user', array('first_name'=>$first_name, 'last_name'=>$last_name, 'email'=>$email, 'password'=>$password));
}
public function providerTestUserStoreAddsUsersCorrectly(){
return array(
array("FirstName", "LastName", "Email@add.com", "pass1234")
);
}
这实际上正在工作并将用户正确添加到数据库,但我不确定如何测试输出/用作响应的断言应该是将用户添加到数据库并重定向到 @ 987654323@ 页。
我该如何完成这个测试?
【问题讨论】: