我想要的功能测试,这是被其他服务中嘲笑服务:如何嘲笑服务,以注入其正确
$client = static::createClient();
$stub = $this->createMock(MailService::class);
$stub->method('sendMailToUser')->willReturn(9);
$client->getContainer()->set('belka.auth_bundle.mail_service', $stub);
// the *real* test should start here
,如果我试图把一个die
命令内原来的sendMailToUser
,我得到的是代码停止运行,尽管我试图通过返回9来嘲笑它。它有什么问题?我测试该服务具有以下声明,然后我猜注入的服务是在一个上面写道:
belka.auth_bundle.user_handler:
class: Belka\AuthBundle\Handler\UserHandler
arguments:
- '@belka.auth_bundle.user_repository'
- '@belka.auth_bundle.mail_service'
calls:
- [setRequest, ["@request_stack"]]
- [setSettings, ["@belka.auth_bundle.setting_handler"]]
- [setBodyJsonHandler, ["@belka.container_support_bundle.body_json_handler"]]
- [setQuantityHandler, ["@belka.container_support_bundle.quantityhandler"]]