Я пытаюсь выполнить модульное тестирование в symfony 1.4 (на самом деле это 1.5.3 (https://github.com/LExpress/symfony1)) с phpunit и издевательством. Есть ли способ загрузить все файлы symfony, а затем, при необходимости, создать фиктивный объект из загруженного класса? Сообщение об ошибке: «Не удалось загрузить макет {ClassName}, класс уже существует», что говорит само за себя, но я хотел бы использовать некоторые оригинальные методы, а не только те, над которыми я издевался. Есть ли способ сделать это?
Например:
public funtion testTest() {
$mock = Mockery::mock("alias:Site")->shouldReceive('getCurrent')->shouldReturn(3);
$this->assertEquals(3, Project::test());
}
public static function test() {
return Site::getCurrent();
}
Если я включаю только класс Project, он работает, но если включены все файлы проекта, я получаю сообщение об ошибке. Но что, если функция test() использует другие методы объекта Site, которые я не хочу имитировать?