如何模拟ADO连接?

时间:2013-07-04 11:48:37

标签: sql-server delphi mocking delphi-xe2 ado

我正在试图弄清楚如何模拟TADOConnection(使用Delpi XE2和SQL服务器)。问题是,对于单元测试,我希望能够伪造连接并使用静态数据而不是数据库中的数据填充数据集。所以,当我这样做时,

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

,只会有一个查找,将SQLStr与文本文件中的某些预定义数据相匹配(我在想XML)。

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

然而,当我用谷歌搜索时,我无法找到关于这个主题的任何内容,这让我怀疑我完全不在了,这一切都是一个愚蠢的想法。

那么有人可以向我解释如何伪装ADO连接,或者,为什么要这样做是一个荒谬的想法?

2 个答案:

答案 0 :(得分:1)

我认为您可能会发现存储库模式在这里很有用。

答案 1 :(得分:1)

声明一个这样的类:

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

然后你必须实现所有 IADOConnection接口方法。