HippoMocks文档说它可以模拟C函数,包括Windows API函数,但我找不到它的任何示例。谁能举个windows API函数模拟的例子?
http://www.hippomocks.com/wiki/index.php/What_can_be_mocked
发布于 2012-03-26 17:10:12
我需要发布一个新版本,这是肯定的。
您可以像模拟任何其他函数一样模拟一个API函数,只不过您没有指定任何对象来调用它(因为它没有任何对象)。我在Linux上使用常规的libc API函数对其进行了大量测试,效果非常好。Windows应该没有什么不同,但这就是为什么我的示例将是exit:
void test() {
MockRepository mocks;
mocks.ExpectCallFunc(&exit).With(2).Throw(std::exception());
}请注意,这适用于任何函数,包括那些指定永远不返回的函数。如果您告诉HippoMocks模拟一个不应该返回的函数,则可能没有生成返回代码,从而导致错误。尝试抛出特定于测试的异常。现在我想到了这一点,那是在使用VS2008的Windows上,除了调用退出之外,它实际上没有操作码。
希望你能让它工作。确保在Git上使用最新的提交(来自Assembla),因为上一个版本还没有包含这个。
https://stackoverflow.com/questions/9805764
复制相似问题