В настоящее время я выполняю модульные тесты для своего кода (используя PHPUnit и Jenkins), но я много читал об интеграционном тестировании.
Существуют ли какие-либо инструменты для выполнения этого в php (желательно автоматизированы)?
Как я могу его реализовать? Есть ли хорошие учебники в любом месте?
В принципе, путь к реализации заключается в том, чтобы внедрять помимо модульных тестов также макеты тестов, которые не только тестируют единицу, более похожую на группу сгруппированных вместе единиц, и вы видите их как логическую единицу, которая должна вести себя определенным образом при передаче некоторого ввода или вызывающих методов.
Одна из возможных библиотек для этого – yaymock в репозитории Google. Его библиотека php5 mock.
Дополнительные интеграционные тесты – это более или менее те тесты, которые проверяют полное поведение системы. Основная задача – установка тестовой среды и развертывание приложения после этого. Вы можете выполнить такое тестирование также с помощью единичного тестового фреймворка или макетной библиотеки. Как хотите. Интеграционные тесты в вашем случае – это HTTP-запросы, основанные на некоторых данных в вашей базе данных и ожидаемом возможном выходе «html».
Чтобы автоматизировать это, вы можете использовать некоторые непрерывные интеграционные рамки … либо Hudson, Arbit, либо phpUnderControl. Для настройки php с hudson и некоторыми хорошими плагинами тестирования есть довольно хороший учебник . В нем упоминаются также некоторые полезные плагины, такие как проверки кода и т. Д., Которые могут быть интегрированы в среду.