Создание форм и автоматических тестов для них.
Уважаемое сообщество, меня интересует следующий вопрос, возможно больше связанный с архитектурой, чем с Питоном как таковым, но я думаю, что сумею получить грамотные комментарии именно здесь.
Есть некая система, зачатки framework, в основном используется для веб-приложений.
Немного о системе:
Для создания формы приложения создается описание таблицы БД (model), контроллер, который обрабатывает данные и передает XML view (XSLT). Писать код я предпочитаю согласно TDD, посему model и controller сопровождаются unit-тестами. От использования библиотек Аля SQLObject или ActiveRecord я отказался заранее.
Суть вопроса:
Проблема же заключается в следующем: слишком много дупликации и работы, которой хотелось бы избежать. Так, например, для тестирования model и для тестирования controller используется один и тот-же массив с полями таблицы и данными, для создания формы тоже используется массив полей таблицы на основе которого создается XML. На уровне контроллера также тестируется значение полей формы на соответствие типу (например, string или int). В данный момент все проверки и тесты я пишу, как уже говорил вручную. Интересует же возможность оптимизировать этот процесс. Вот, например способы, которые я знаю, и использовал в большей или меньшей степени:
- Генерировать формы и тесты на основе XML-описания (то есть описание формы, я создаю вручную, на основе него и создаются проверки значений и генерируется тест этой формы).
- Брать информацию прямо из таблицы БД (show columns) на основании чего создавать стандартные формы.
У каждого из этих способов есть свои недостатки, первый мне кажется наиболее подходящим, но он в любом случае накладывает свои ограничения. Мне интересно, что думают на этот счет уважаемые участники сообщества?
