Ну, краткий ответ - «да».
Вам понадобится, прежде всего, достаточно разложить код по размеру, чтобы вообще построить модульные тесты.То, что вы описываете, чрезмерно сложно применять обычные методы модульного тестирования, и то, что вы получите в любом случае, больше похоже на приемочный тест более высокого уровня.
Теперь, что касается факторинга, выесть несколько возможных подходов, и вы, вероятно, будете использовать их все.
Проверьте сами запросы к базе данных, используя внешний скрипт.
Построитьподходящий макет для компонентов, непосредственно обращающихся к БД, чтобы увидеть, что происходит с известными результатами.
Создание модульных тестов с использованием JUnit-подобной среды для модулей функциональности.
Изучите современное состояние, чтобы убедиться, что вы можете с пользой проверить выходной HTML на соответствие модульным тестам.