Создание фиктивного объекта со свойствами по умолчанию

Мне нужно создать фиктивный объект с набором свойств по умолчанию, чтобы его можно было использовать в кодовой базе при создании экземпляра.

$mock = $this->getMock('MyClass', array(), array(), 'MyClass_Mock');
$mock->prop = 'foobar';

$myclassMock = new get_class($mock);
var_dump($myclassMock->prop); // NULL
// How can I make this dump 'foobar' ?

Я тестирую часть фреймворка, которая определяет, находит и создает экземпляры этих классов, поэтому внедрение имитационного объекта нарушит цель теста.

Мне не нужно издеваться над какими-либо методами ... просто динамически создайте имитацию класса следующим образом:

class MyClass_Mock extends MyClass {
  public $prop = 'foobar';
}

Изменить: Упрощенный пример

11
задан Mike B 17 February 2012 в 20:30
поделиться