2013-10-23 34 views
0

我处于这种情况下,我必须模拟WinAPI调用,并有一些困难,我能够使C函数嘲笑在HippoMocks中工作。HippoMocks - 如何模拟用户定义的结构,特别是WinAPI结构

1)我发现在Assembla上的HippoMocks存储库没有C函数模拟。我能够从github上的存储库中找到它。

2)我无法模拟具有用户定义的输出参数的函数。作为一个例子,我尝试了一个简单的WinAPI函数 - GetSystemTime,它不返回任何东西。相反,它需要一个LPSYSTEMTIME类型的输出参数。当我尝试嘲笑这个功能,我看到下列类型的错误:

error C2679: binary '=' : no operator found which takes a right-hand operand of type '_SYSTEMTIME *' (or there is no acceptable conversion) 

这个问题似乎是在模拟框架抱怨一个事实,即SYSTEMTIME类型的对象没有赋值运算符。这个问题怎么解决?

注意1:我成功地使用简单的参数/返回值来模拟WinAPI函数。

+0

也许从这一个重复:http://stackoverflow.com/questions/28396085/hippomocks-expect-call-with-class-instance – mrAtari

回答

0

这应该现在工作。我不完全确定你是如何得到那个确切的错误的;如果参数是一个LPSYSTEMTIME,它将永远不会尝试对其进行解引用。你能用当前版本重现这个错误吗?