Como zombar do serviço Symfony 2 em um teste funcional?

Eu tenho o serviço symfony que usa a conexão redis em alguns métodos, mas não em todos os métodos.

class ServiceA
{
    private $redis;

    public function __construct($redis)
    {
        $this->redis = $redis;
    }

    public function getRequest($param1, $param2)
    {
    $result = $param1+ $param2;
        return $request;
    }

    .. other methods which use $redis connection
}

Eu estou escrevendo teste funcional para o código que usa apenas o método getRequest (este método não precisa de conexão redis), mas como o construtor toma a conexão como um argumento, quando eu executo o teste ele tentou se conectar ao servidor redis.

Como eu posso escrever um serviço simulado que não usa conexão redis e ignorar o construtor original.

Eu estou tentando abordagem mencionada abaixo, mas sem sucesso. Ele ainda tenta se conectar, mesmo que eu tenha desabilitado o construtor original.

http://blog.lyrixx.info/2013/04/12/symfony2-how-to-mock-services-during-functional-tests.html

$serviceA = $this->getMockBuilder('ServiceA')
    ->disableOriginalConstructor()
    ->getMock();

static::$kernel->getContainer()->set('my_bundle.service.a', $serviceA);

questionAnswers(4)

yourAnswerToTheQuestion