В настоящее время я создаю проект с использованием symfony2, я использую поставщика PHPUnit для функционального тестирования моего кода.
Я сталкиваюсь с проблемой увеличения времени функционального тестирования по мере увеличения проектов.
Примечание: я использую приборы для загрузки для каждой функции функционального тестирования.
Мой вопрос здесь? Какова лучшая практика для реализации функционального теста, который выполняется в разумные сроки.
с другой стороны, есть ли пакет или инструмент, который я могу использовать для ускорения этого процесса?
Ваш вопрос сложный, и очень трудно точно сказать, проблема задержки.
Прежде всего, вы можете разделить ваши приборы, которые можно загрузить перед тестовым костюмом, и другие детали, которые можно загрузить с помощью метода setUp.
Второй совет, который действительно может ускорить процесс тестирования, — запуск нескольких потоков. Я использую «самую быструю» библиотеку, которая позволяет мне ускорить мои тесты примерно в 3-4 раза (на i7) по сравнению с одним запуском потока.
https://github.com/liuggio/fastest
find tests/ -name "*Test.php" | ./bin/fastest "bin/phpunit -c app {};"
Просто добавление к аргументам для модульного / функционального теста. Поскольку я вижу, что тема о «функциональных» тестах, и если инструмент — PhpUnit, это не означает, что тесты должны быть «модульными», потому что с ним также можно делать функциональные тесты, но я считаю, что это не так. лучший выбор инструмента для функциональных испытаний.
Я рекомендую вам взглянуть на другой отличный инструмент для функциональных тестов, таких как Behat (http://behat.org). Это позволит вам не только работать с функциональными тестами более комфортно, но и использовать подход BDD (Behavior Driven Development) для вашего процесса разработки
Просто небольшой пример того, как мы используем его для функционального тестирования корзины http://www.youtube.com/watch?v=XIUmDGaaZWM