我有一个 EloquentUserRepository,我想测试它的方法,但我真的不知道从哪里开始。任何人都可以为此提供任何启示?
public function findByProvider($provider, $user)
{
if (is_object($user))
{
$user = $user->id;
}
return $this->instance()->whereHas('socialProviders', function ($q) use ($provider, $user)
{
$q->where('name', $provider);
})->first();
}
这是我想测试的功能的一个例子。它正在寻找拥有一个 socialProvider 的用户,比如 github。具有社交提供者的用户的基本结构是这样的:
$data = [
'user' => [
'id' => 1,
'email' => 'test@test.com',
'socialProvider' => [
[
'name' => 'github',
'provider_id' => '00000000'
]
]
]
];
设置了这个,我怎样才能基于这个结构来测试模型呢?是否真的需要为此目的创建内存数据库、迁移和种子,或者可以在没有它的情况下进行测试?
由于 laracasts 视频,我正在使用 phpspec,但我不确定它是否是正确的选择......我希望你们中的一些人可以提供帮助!