Modificando objetos em returnCallback () do PHPUnit Mocks

Eu quero zombar de um método de classe e executar um retorno de chamada que modifique o objeto fornecido como parâmetro (usando o PHP 5.3 com o PHPUnit 3.5.5).

Digamos que eu tenha a seguinte turma:

class A
{
  function foobar($object) 
  {
    doSomething();
  }
}

E este código de instalação:

$mock = $this->getMockBuilder('A')->getMock();
$mock->expects($this->any())->method('foobar')->will(
  $this->returnCallback(function($object) {
    $object->property = something;
  }));

Por alguma razão, o objeto não é modificado. Emvar_dumping$object Eu vejo que é o objeto certo. Será que o objeto é passado por valor? Como posso configurar o mock para receber uma referência?

questionAnswers(3)

yourAnswerToTheQuestion