2
Я пытаюсь создать макет менеджера сущностей для модульных тестов, который возвращает структуру глубоких сущностей.Преобразование объекта Doctrine в mock для модульного теста
Basicaly Я хочу, чтобы превратить это:
$p1 = new Product();
$p1->setName("product 1");
// ...
$c = new Command();
$c->setDate(new Date());
$c->setId(1);
$c->addProduct($p1);
// ...
В это:
p1 = $this->getMock('\Acme\DemoBundle\Entity\Product');
$p1->expects($this->any())
->method('getName')
->will($this->returnValue("product 1"));
// ...
$c = $this->getMock('\Acme\DemoBundle\Entity\Command');
$c->expects($this->any())
->method('getDate')
->will($this->returnValue(new Date()));
$c->expects($this->any())
->method('getId')
->will($this->returnValue(1));
$c->expects($this->any())
->method('getProducts')
->will($this->returnValue(array($p1)));
// ...
Есть простой и не очень многословным способ получить это?
Благодаря
Вы можете использовать насмешку немного проще –
Может быть, вы должны смотреть на [BazingaFakerBundle] (https://github.com/willdurand/BazingaFakerBundle), пакет Symfony2 на основе [Faker] (https://github.com/fzaninotto/Faker). – mneute