问题标签 [hippomocks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
264 浏览

c++ - 带有 weak_ptr 的 HippoMocks

只是遇到了代码的编译错误,试图模拟一个std::weak_ptr作为参数的方法。HippoMocks在调用方法时有一个代码来比较它With,它不会被编译。我将不胜感激任何帮助。

这是代码:

MS VS 2010 编译器不喜欢最后一行并抱怨:

0 投票
2 回答
485 浏览

c++ - Hippomock 的 MockRepository::BasicRegisterExpect 中的 NotImplementedException

在尝试使用 Hippomock's 注册期望时,MockRepository::ExpectCall我在 's 以下行遇到了我承认不理解的NotImplementedException异常:MockRepository::BasicRegisterExpect

不幸的是,我无法使用精简示例重现异常。

因此我的“简单”问题:

  • 在什么情况下会在期待调用时引发这个异常?
  • 这段代码行究竟测试了什么?
0 投票
1 回答
601 浏览

unit-testing - 等效于 Hippomocks 先前存在的 MockRepository::ClassMock

在 Hippomocks 的官方 3.1 版(https://www.assembla.com/spaces/hippomocks/wiki/Home)中,曾经有一个MockRepository::ClassMock构造模拟对象(与之相反MockRepository::InterfaceMock),这在处理时非常有用使用非虚拟类方法。

当前版本的MockRepository::Mock功能MockRepository::InterfaceMock与我认为的相同。是否有可能使用当前版本构造模拟对象?

我不使用 3.1 版本的理由:我需要也非常有用的 ExpectCallFunc 来测试不属于稍后介绍的类的函数。

不使用placement new 的理由:placement new 将在被Hippomocks 模拟后构造对象,从而“重置”先前由Hippomocks 更改的虚函数表。

0 投票
1 回答
949 浏览

c++ - HippoMock : 模拟类的一部分

我想知道是否可以使用 HippoMock 模拟类的一部分。

例子

我想模拟方法1以测试方法2

显然我使用 HippoMock 并且我在方法 2 中有一个错误,所以我进行了单元测试以纠正它并确保它不会回来。但我找不到这样做的方法。

我试试这个

本机 cpp 有一些解决方案吗?使用其他模拟框架?

非常感谢

安布罗斯·佩蒂特热内

0 投票
1 回答
299 浏览

c++ - 参数为 lambda 时编译失败。[使用河马]

我用 hippomocks 编写了一个单元测试,但在编译时出错。

编译器是VS 2010。

我该如何解决?

输出是:

0 投票
2 回答
863 浏览

c++ - 如何像 hippomocks 一样拦截自由函数调用?

我想知道 hippomocks 做了什么来拦截exit调用函数,例如如下代码所示:

0 投票
2 回答
163 浏览

c++ - MockRepository 的多个共存实例是否可能?如果是,在什么条件下?

MockRepository就编译器而言,Hippomocks支持多个实例。但是,某些用例是不可能的,因为它们会导致单元测试可执行文件崩溃。让我们考虑以下示例。

此示例(在 Visual C++ 2010 中)导致未处理的异常(访问冲突读取位置 0x00000048)。

  • 分析 Hippomocks 标头表明,似乎没有预见到这个用例(参见MockRepoInstanceHolder)。只允许一个实例的原因是什么?
  • 我可以理解,例如不同ExpectCallFuncMockRepository实例可能会相互矛盾。这是它背后的原因吗?
  • 我们可以通过将mockRep1实例化移到MySubTest()调用之后来解决示例中的问题,但我们很难在一开始就理解这个问题。是否有编译时或运行时的可能性来明确识别这样的多个实例?
0 投票
1 回答
498 浏览

c++ - HippoMock 总是抛出 NotImplemented

我正在尝试使用 HippoMock 模拟接口,以便在使用所述接口的类中使用。我构建了一个模拟对象并设置了 exceptCallOverload,一切都编译得很好。但是,我正在测试的类调用了模拟对象,它调用了 mock::NotImplemented 函数。

此外,我正在模拟的例程接受对接口的引用,但传入的对象存储在 shared_ptr 中。如果我使用 .With 并传递 shared_ptr 对象,我得到一个错误报告 comparer::compare can't match template parameters,这是可以理解的。因此,如果我只是传入对接口的引用,我会得到一个错误,不能实例化纯虚拟类。

在使用 HippoMark 方面,我觉得这让我陷入了困境。

一个小例子:

0 投票
1 回答
545 浏览

c++ - Hippomock中Expect调用函数的参数中的模板函数

我想隔离writeMemory,但由于以下错误而无法隔离:

../../Util/UnitTest++/../../UnitTests/KeeperDive_Test.h:66:57: 错误:预期表达式 mocks.ExpectCall(Skillmock, Skill::writeMemory).With(template (Skillmock));

0 投票
2 回答
546 浏览

hippomocks - Hippomocks 期望调用类实例

如何使用类实例或结构实例作为“with”部分中的参数之一来设置期望调用?该文档似乎没有显示如何做到这一点。我看到使用简单的参数,如字符串和整数 - 但不是类实例。您通常只是将该参数设置为“_”并完成它吗?