在这种情况下,我必须模拟WinAPI调用,并且经过一些困难,我能够让C函数模拟在HippoMocks中工作。
1)我发现汇编上的HippoMocks存储库没有C函数模拟。我能够在github的存储库中找到它。
2)我无法模拟具有用户定义的输出参数的函数。作为一个for实例,我尝试了一个简单的WinAPI函数-- GetSystemTime,它不返回任何内容。相反,它接受LPSYSTEMTIME类型的输出参数。当我试图模拟这个函数时,我看到了以下类型的错误:
error C2679: binary '=' : no operator found which takes a right-hand operand of type '_SYSTEMTIME *' (or there is no acceptable conversion)问题似乎是mocking框架抱怨SYSTEMTIME类型的对象没有赋值运算符。如何解决这个问题?
注意1:我能够成功地用简单的参数/返回值模拟WinAPI函数。
发布于 2014-01-21 23:17:20
这现在应该可以用了。我不完全确定您是如何得到这个确切的错误的;如果参数是LPSYSTEMTIME,它永远不会尝试取消引用它。你能在当前版本中重现这个错误吗?
https://stackoverflow.com/questions/19553426
复制相似问题