首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HippoMocks -如何模拟Win32 API函数

HippoMocks -如何模拟Win32 API函数
EN

Stack Overflow用户
提问于 2012-03-21 21:37:21
回答 1查看 1.7K关注 0票数 3

HippoMocks文档说它可以模拟C函数,包括Windows API函数,但我找不到它的任何示例。谁能举个windows API函数模拟的例子?

http://www.hippomocks.com/wiki/index.php/What_can_be_mocked

EN

回答 1

Stack Overflow用户

发布于 2012-03-26 17:10:12

我需要发布一个新版本,这是肯定的。

您可以像模拟任何其他函数一样模拟一个API函数,只不过您没有指定任何对象来调用它(因为它没有任何对象)。我在Linux上使用常规的libc API函数对其进行了大量测试,效果非常好。Windows应该没有什么不同,但这就是为什么我的示例将是exit:

代码语言:javascript
复制
void test() {
    MockRepository mocks;
    mocks.ExpectCallFunc(&exit).With(2).Throw(std::exception());
}

请注意,这适用于任何函数,包括那些指定永远不返回的函数。如果您告诉HippoMocks模拟一个不应该返回的函数,则可能没有生成返回代码,从而导致错误。尝试抛出特定于测试的异常。现在我想到了这一点,那是在使用VS2008的Windows上,除了调用退出之外,它实际上没有操作码。

希望你能让它工作。确保在Git上使用最新的提交(来自Assembla),因为上一个版本还没有包含这个。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9805764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档