Только сейчас, на втором десятке лет существования проекта, мы приступили к автоматизированному тестированию бизнес-объектов. Задача первого теста:
- итерация через список всех классов с подтипами
- создание экземпляра класса с подтипом
- проверка последовательности действий Insert-Cancel и Edit-Post
- проверка создания и отображения диалогового окна
- проверка создания и отображения формы просмотра
- проверка текста запроса генерируемого методом CheckTheSameStatement
- добавление условия через ExtraConditions
- уничтожение экземпляра
Для тестирования, в базовый класс диалоговых окон пришлось добавить таймер, который инициализирует процесс автоматического закрытия окна через некоторое время после его отображения. Естественно, весь код находится под директивой условной компиляции DUNIT_TEST.