2013-07-04 3 views
0

Я пытаюсь понять, как издеваться над TADOConnection (работая с сервером Delpi XE2 и SQL). Дело в том, что для модульного тестирования я хотел бы подделать соединение и заполнить наборы данных статическими данными вместо данных из базы данных. Так что, когда я делаю это,Как мне высмеять ADO-соединение?

ADOQuery.Connection := FakeADOConn; 
ADOQuery.SQL.Add(SQLStr); 

, там будет просто поиск, соответствие SQLStr для некоторых предопределенных данных в текстовый файл (я имею в виду XML).

Textfile -> FakeTADOConnection -> TADODataset -> Data source -> Data Control 

Однако, когда я гугле я не смог найти что-нибудь на эту тему, которая заставляет меня подозревать, что я полностью выключен, и вся эта вещь глупая идея.

Так может кто-нибудь объяснить мне, как можно объединить соединение ADO или, наоборот, почему это нужно делать, это смешная идея?

+1

Я не считаю эту идею смешной, но я считаю, что будет трудно заставить ее работать, просто потому, что вам придется реализовать все методы IADOConnection. Однако после этого это действительно поможет вам создать действительно хорошие тестовые примеры. – AlexSC

+0

@AlexSC В той же ситуации, что и пост, один раз, рассмотрите свой ответ, но мне пришлось отклонить из-за приоритета проекта, а также нехватки времени и умения. – umlcat

ответ

1

Объявите класс, как это:

type 
    TMockADOConnection = class(TInterfacedObject, IADOConnection) 
    // Declare here all the interface methods 
    end; 

Тогда вам придется реализовать все методы интерфейса IADOConnection.

+0

Спасибо! Я чувствую себя глупо; этот ответ настолько прост, но это ответ на мой вопрос (вот почему я его принял). Однако я пойду с подходом Пола Митчелла и в настоящее время читаю в шаблоне репозитория в шаблонах Fowlers Enterprise Application Architecture. –

1

Я думаю, вы могли бы найти здесь шаблон хранилища.

+0

Я проверю это! –

Смежные вопросы