Използване на phpspec за тестване на команди на Symfony2

Използвам phpspec, за да тествам нашето приложение. Сега трябва да разработим някои команди и затова искам да уточня и тях.

Малко съм заседнал тук, защото документите (http://symfony.com/doc/master/cookbook/console/console_command.html#testing-commands) само ми кажете как да тествам командите с помощта на phpunit.

Дори и да използвам подобен подход (създаване на ядрото по някакъв начин и инстанциране на въпросната команда) в спецификациите, мисля, че това няма да следва идеята за описание на поведението. Бих посочил само дали изходът е правилен или не, но не и дали командата извиква правилните методи и т.н.

Някой използвал ли е phpspec, за да опише успешно команди на Symfony2? Какъв би бил осъществимият подход за извършване на това?

Благодаря


person Coruja    schedule 13.11.2013    source източник


Отговори (2)


Можете да използвате PhpSpec, за да тествате Command по начин, който може да се тества с единица - не е много лошо, но в крайна сметка ще получите много подигравки на входа/изхода.

По-добре е вашите команди да са хубави и малки, като ги делегирате на други услуги, които са единично тествани - тогава можете да покриете с Behat и да получите увереността си, че работят.

Това е много подобен проблем на тестването на контролери, само че командите имат повече зависимости, които да се подиграват, ако опитате подхода за тестване на единици.

person Ciaran McNulty    schedule 19.04.2014
comment
Да, това, което Киаран каза. Въпреки това опитът за специфициране на команди е добро упражнение. Ще разберете какъв вид неща трябва да делегирате на услугите и ще ви научи как да поддържате командите си прости. Разгледайте какво опитах тук: gist.github.com/jakzal/8455718 - person Jakub Zalas; 17.02.2015

Трябва да използвате Behat за това, а не phpspec

person user2156980    schedule 28.11.2013