我有一个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制作一个模拟对象,我的问题是如何制作一个可以接受不同格式字符串的模拟对象?这如何帮助我验证我的包装器中的代码是否正确?