Итак, у меня есть этот огромный проект SF2, который, к счастью, довольно «хорошо» написан. Службы есть, там есть фоновые задания, нет классов богов, это можно проверить - но я никогда не получал больше, чем просто материал для тестирования единицы, поэтому вопрос в основном, где я начинаю принимать это дальше.Большой проект, огромная нехватка тестового покрытия, как бы вы к этому подошли?
Проект состоит из SF2 и всех yada yada, Doctrine2, Beanstalkd, Gaufrette, некоторых других абстракций - это прекрасно. Единственная проблема, с которой он сталкивается, - это некоторый глюкод в контроллерах здесь и там, но я не вижу в этом большой проблемы, поскольку функциональные тесты будут для меня основным направлением. Инфраструктура настроена довольно хорошо, ее покрывает докер, поэтому CI тоже хорошо поработает.
Но оно в основном слишком велико, чтобы вручную протестировать его, поэтому я хочу получить полное функциональное покрытие в кратчайшие сроки и позволить модульному тестированию расти с течением времени. (Собираюсь погрузиться в изолированные объекты, так как им понадобятся будущие корректировки и в течение их времени провести испытание для них)
Так что я получил модульное тестирование, которое должно расти со временем, но я хочу сделать несколько шагов к функциональному тестированию, чтобы получить быстрый выигрыш в тестировании. ВЧЕРА.
Мой план на данный момент - использование Behat и Mink для этого, тесты будут огромными, поэтому я мог бы также хотеть, чтобы он был настроен как истории вместо кода. Кажется, у него также есть расширение для Symfony 'BrowserKit. Существует множество услуг и внешних вещей, но все они изолированы службами, поэтому я могу издеваться над ними через конфигурацию службы тестовой среды, я думаю. Пожалуйста, некоторые советы здесь, если есть, как лучший способ
Я также буду нуждаться светильниками, я использую Алиса для создания некоторых светильников до сих пор, кажется, хорошо вместе с расширением доктрины, не думает, на этом есть «лучшие» варианты.
Как проверить внешние службы? Im насмешливые вещи как служба Facebook, но я также хочу проверить ее на какой-либо тестовой учетной записи, это целесообразно? Я знаю, что это выходит за рамки его сферы, служба должна быть издеваться и проверяться всеми возможными способами, чтобы «обеспечить ее работу» в соответствии с пуристом. Но в конце концов он все еще ломается из-за какого-либо ключа API или другой проблемы в соединении, которые я не могу себе позволить. Итак, пожалуйста, дайте советы здесь также
Все ваши предложения по использованию других инструментов приветствуются, и особенно если есть хорошая книга, которая охватывает мою историю.