Изменение объектов в returnCallback () PHPUnit Mocks

Я хочу имитировать метод класса и выполнить обратный вызов, который изменяет объект, указанный как параметр (с использованием PHP 5.3 с PHPUnit 3.5.5).

Допустим, у меня есть следующий класс:

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

И этот установочный код:

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

По какой-то причине объект не изменяется. На var_dump ing $ object я вижу, что это правильный объект. Может быть, объект передается по значению? Как я могу настроить макет для получения ссылки?

20
задан Alex Lawrence 5 April 2012 в 16:08
поделиться