Модульное тестирование модулей данных Delphi

Если вся бизнес-логика присутствует в модуле данных (TSQLDataSets и TDataSetProviders), как бы вы провели рефакторинг кода, чтобы сделать приложение более подходящим для модульного тестирования?

3 ответа

Некоторые основные советы:

  • Ваши DataModules никогда не должны иметь никаких ссылок на формы или любые другие компоненты пользовательского интерфейса
  • Поместите источники TDataSources в формы, а не в свои модули данных.
  • Убедитесь, что нет никаких запросов для подтверждения и операций, которые требуют ввода пользователем кода DataModules.
  • Вы не должны использовать какие-либо глобальные переменные.

Надеюсь это поможет.

Для автоматического создания тестов для DUnit вы можете использовать OpenCTF, который способен находить все компоненты и автоматически создавать тестовые случаи во время выполнения теста. Примеры тестов включают некоторые базовые тесты уровня доступа к данным.

http://sourceforge.net/projects/openctf/

а также

http://cc.embarcadero.com/Item/24136

http://www.mikejustin.com/images/OpenCTF.gif

Другие вопросы по тегам