Phpspec返回坏的价值

时间:2015-08-30 08:57:44

标签: symfony phpspec

我创建了注册服务,我想测试该方法。在浏览器中var_dump返回true,phpspec返回false ..为什么?有任何想法吗?

服务:http://pastebin.com/9hYX7S14 Phpspec:http://pastebin.com/xm5NLYyG

请帮忙。

2 个答案:

答案 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对象中获取结果。

测试此方法的最佳选择是使用应该在模拟对象上调用断言进行测试。

这不是单元测试其功能/验收测试。