我创建了注册服务,我想测试该方法。在浏览器中var_dump返回true,phpspec返回false ..为什么?有任何想法吗?
服务:http://pastebin.com/9hYX7S14 Phpspec:http://pastebin.com/xm5NLYyG
请帮忙。
答案 0 :(得分:1)
您需要存根(或模拟)所有依赖项:
function it_check_user_exist_in_system(
Registry $doctrine,
ObjectRepository $repository,
User $user
)
{
$doctrine->getManager()->willReturn($doctrine);
$doctrine->getRepository('AcmeUserBundle:User')->willReturn($repository)
$repository->findOneBy(array('username'=>'user1'))->willReturn($user);
$this->checkUser('user1')->shouldReturn(true);
}
答案 1 :(得分:0)
您正试图从Mocked对象中获取结果。
测试此方法的最佳选择是使用应该在模拟对象上调用断言进行测试。
这不是单元测试其功能/验收测试。