Трябва да създам макет обект с набор от свойства по подразбиране, така че да може да се използва друг софтуер в кодовата база при инстанциране.
$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';
}
Редактиране: Опростен пример
$fields
, така че да се държи като истински модел. Знам, че PHPUnit създава подигравки, като записва кода в низ и го evaling(). Просто не знам как да включа имотните декларации в този процес. - person Mike B   schedule 17.02.2012