【发布时间】:2018-10-27 01:03:49
【问题描述】:
如何为 Laravel 更新密码表单编写 phpunit 测试?
这是我的测试:
$user = \factory(\App\User::class)->create(['password' => \Hash::make('password')]);
$this->actingAs($user);
$response = $this->call('PUT', '/user/update-password', array(
'_token' => csrf_token(),
'current_password' => 'password',
'new_password' => 'newone',
'repeat_new_password' => 'newone',
));
$response->assertStatus(302);
$this->assertDatabaseHas('users', ['name' => $user->name, 'password' => \Hash::make('newone')]);
密码控制器正在像这样保存新密码:
....
$user->password = \Hash::make($request->new_password);
$user->save();
....
我得到错误:“断言表 [users] 中的行与属性匹配失败”
更新密码表格可以正常工作,因为我可以使用更新的密码登录。我猜是: $this->assertDatabaseHas('users', ['name' => $user->name, 'password' => \Hash::make('newone')]);正在制作与我的密码控制器不同的密码。
任何想法,这里有什么问题?
【问题讨论】: