Ответ 1
В принципе, путь к реализации заключается в том, чтобы внедрять помимо модульных тестов также макеты тестов, которые не только тестируют единицу, более похожую на группу единиц, сгруппированных вместе, и вы видите их как логическую единицу, которая должна вести себя определенным образом при передаче в некоторых методах ввода или вызова.
Одна из возможных библиотек для этого - yaymock в репозитории Google. Его библиотека php5 mock.
Дополнительные тесты интеграции - это более или менее те тесты, которые проверяют полное поведение системы. Основная задача - установка тестовой среды и развертывание приложения после этого. Вы можете выполнить такое тестирование также с помощью рамки unit test или макетной библиотеки. Как хотите. Тестирование интеграции в вашем случае - это HTTP-запросы, основанные на некоторых данных в вашей базе данных и ожидаемом возможном выходе "html".
Чтобы автоматизировать это, вы можете использовать некоторые непрерывные интеграционные рамки... либо Hudson, Arbit, либо phpUnderControl. Для настройки php с hudson и некоторыми хорошими плагинами тестирования есть довольно хороший учебник. В нем упоминаются также некоторые полезные плагины, такие как проверки кода-покрытия и т.д., Которые могут быть интегрированы в среду.