Laravel 5.1单元测试经过身份验证的用户

时间:2015-06-15 16:51:10

标签: unit-testing laravel laravel-5

因此,在阅读了几次文档之后,我仍然对如何在5.1中进行单元测试的用户进行身份验证感到困惑。以前在4.2中你可以使用:

$user = new User(array('name' => 'John'));
$this->be($user);

在5.1中给出的例子是:

$user = factory('App\User')->create();
$this->actingAs($user)

工厂不是刚回来的用户吗?如果我尝试使用$user = new User(array('name' => 'John'));,我会收到错误,因为actingAs需要Authenticatable。那么如何作为现有用户进行身份验证呢?

1 个答案:

答案 0 :(得分:2)

$user = new User(..);也没有为您提供现有用户。尝试$user = User::find(1)成为现有成员。如果您打算作为不存在的成员进行测试,则可以包含DatabaseTransactions特征,该特征可以回滚测试期间创建的所有内容。