我使用Symfony 3.4。我有功能测试,从Liip\FunctionalTestBundle\Test\WebTestCase
延伸,在某些功能我想模拟一些服务,我创建了mockobject服务,但在行动中我仍然有原始服务,如何模拟服务
在我的功能中
$mock = $this->getMockBuilder(AdditionalFunction::class)
->disableOriginalConstructor()->getMock();
$this->getContainer()->set('app.additional_function', $mock);
$this->getClient()->request(
Request::METHOD_GET,
$uri
);
并在我的行动中$uri
public function sendAction(OutboundInvoice $outboundInvoice)
{
$test = $this->get('app.additional_function');
变量$test
中的我有原始课程AppBundle\Helper\AdditionalFunction
如何模拟服务?
答案 0 :(得分:0)
您可以按照https://github.com/liip/LiipFunctionalTestBundle/issues/107#issuecomment-358267059
中的建议执行以下操作$mock = $this->createMockInAnyWayYouWant();
static::$kernel->getContainer()->set('id_service', $mock);