Анонимная функция в PHPSpec

Как правильно протестировать эту форму с помощью анонимной функции query_builder?

use Doctrine\ORM\EntityRepository;
// ...

$builder->add('users', 'entity', array(
    'class' => 'AcmeHelloBundle:User',
    'query_builder' => function(EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->orderBy('u.username', 'ASC');
    },
));

person Community    schedule 21.05.2014    source источник


Ответы (1)


PHPSpec действительно предназначен для разработки/тестирования вашего общедоступного API, поэтому я думаю, что это лучше рассматривать как тест интеграции/приемки. Вы никогда не будете явно вызывать метод buildForm() вашей формы (это будет сделано библиотекой форм), и фактический запрос будет выполняться во время соответствующего события (событий) формы. Чтобы протестировать это явно, вам придется протестировать множество вещей, которые находятся в библиотеке форм, и действует правило «не тестировать то, чем вы не владеете».

person Damon Jones    schedule 21.05.2014