Модульное тестирование модулей данных Delphi - PullRequest
5 голосов
/ 23 января 2009

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

Ответы [ 3 ]

5 голосов
/ 23 января 2009
3 голосов
/ 23 января 2009

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

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

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

2 голосов
/ 26 марта 2009

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

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

и

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

альтернативный текст http://www.mikejustin.com/images/OpenCTF.gif

...