【发布时间】:2015-02-14 18:37:48
【问题描述】:
我有一个 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,但我不确定这是否是正确的选择...希望你们中的一些人可以提供帮助!
【问题讨论】:
-
您需要提供有关 findByProvider 方法所属的类的更多信息。
标签: testing laravel repository eloquent phpspec