我有一个试图为其编写包装器的 OLE COM 对象,我已决定开始使用 TDD 为其编写代码,因为我相信它会让我对我正在尝试编写的内容有更好的方向感。COM 对象有一个这样的接口:
Interface Mapinfo
Sub [Do](ByVal cmd As String)
Function Eval(ByVal cmd As String) As String
End Interface
[Do] 命令将采用以下内容
Mapinfo.Do("OpenTable("""C:\Temp\MyTable.TAB""")")
现在我正在尝试编写一个包装器,所以有一个这样的函数:
Mapinfo.OpenTable("C:\Temp\MyTable.TAB")
现在我遇到的主要问题是,每次我想编写一个新测试和一些代码时,我都必须创建一个 OLE 对象的实例,等待应用程序启动(30 秒+),测试我的小功能,关闭并处理 OLE 对象,更改代码并再次运行它。
我的问题是:有没有更好的方法来完成所有这些,而不必每次都启动 OLE 应用程序?我听说过模拟对象,但没有真正研究过,他们会在这里帮助我吗?如果有怎么办?
编辑:我现在意识到我必须为 Mapinfo 制作一个模拟对象,我的问题是如何制作一个可以采用不同格式字符串的模拟对象?这将如何帮助我验证包装器中的代码是否正确?