问题标签 [gmock]

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 回答
999 浏览

unit-testing - 如何使用 gMock for groovy 模拟包含闭包的方法?

我正在使用 gMock for groovy 创建单元测试。我有一个基类,其中包含一个“玩家”的 ArrayList 我有另一个类用作我的 GUI 界面。该用户界面中的一个方法将获取玩家列表并在组合框中显示玩家名称。该方法如下所示:

我遇到的问题是尝试为此方法设置期望值和返回值,我所拥有的是这样的:

当我运行测试时,我得到了一个大小合适的堆栈跟踪,但我不确定如何解决它,因为看起来问题出在闭包上。

我的缩写堆栈跟踪是这样的:

任何帮助,将不胜感激

0 投票
0 回答
534 浏览

c++ - 使用 gmock - 如何包含 gmock_actions.h

我正在用 C++ 学习 TDD。通过“Jeff Langr - 现代 C++ 测试驱动开发编程”中的建议。我打算使用 Google Mock 框架。我遵循 gmock-1.7 文件夹中的 README 文件,我还运行了 gmock_test 并且所有测试用例都是“绿色”。

之后我写了一个小程序来尝试像这样导入 gmock:

g++ main.cpp还给我gmock/gmock-actions.h: No such file or directory

我需要做什么 ?非常感谢你告诉我发生了什么。

0 投票
0 回答
395 浏览

c++ - gmock 未能将值传递给我的函数

我在我的项目中使用 gmock 并且遇到了为模拟函数设置自定义引用变量的问题。我使用过 SetArgPointee 和 Return ,但该函数只能获取返回值。

我的模拟功能是

我的测试是这样的:

在我的测试功能是

当我运行测试时才发现 thr hr 是 S_OK,len 仍然是 0,len 无法获取值,任何人都可以告诉我为什么以及如何获取值,谢谢。

0 投票
1 回答
476 浏览

c++ - 如何在 MFC 应用程序中使用 gmock

我有一个非托管的 mfc 应用程序。我想使用 gmock 集成一些单元测试。我添加了所有包含、库。

但是我怎样才能开始运行测试呢?

我知道他们在其他情况下使用 main 方法运行测试。

但由于 mfc 应用程序没有 main 方法,而是 InitInstance 方法。如何开始运行测试?

0 投票
1 回答
1421 浏览

c++ - GMock将一个模拟对象传递给另一个,并调用一个存根方法仍然是调用真正的逻辑

我试图将一个模拟对象传递给另一个对象的方法并调用它,我得到与调用真实方法相同的结果。

fooa.h - 这是真正的课程

fooa.cpp

mockedfooa.h - fooa 的模拟版本

calculator.h 这个类从 FooA 类调用方法

我的主要功能

输出是

所以看起来即使它被存根 doCalc 仍然调用真正的方法。

我的问题是:为什么当我将模拟对象传递给 doCalc 方法时没有调用存根方法?

0 投票
1 回答
37729 浏览

reference - gmock 多个输入输出参数 SetArgReferee

我有一个接口Itest:

我可以模拟它:

但是如何设置返回值?

我试过了:

但后来它被调用了三遍..

如何一次设置这些argReferees和返回值?

0 投票
1 回答
3784 浏览

c++ - 如何匹配 Google Mock 中的参数引用

我是谷歌模拟的新人。现在我有一个关于如何匹配参数引用的问题?这是代码

我还尝试了以下匹配SetParameter()

这两个代码也可能导致异常......谁能告诉我如何匹配Parameter&函数中的参数引用SetParameter()

0 投票
2 回答
869 浏览

c++ - 返回指向 std::list of pointers 的指针时出现 ImplicitCast_ 错误

所以我有这个小问题。我有一个我想模拟的课程,但我遇到了一个错误。有问题的方法是返回一个指向 std::list 对象指针的指针。下面是一些复制问题的代码:

当我编译它时,我收到以下错误:

有人可以告诉我是什么原因造成的吗?我究竟做错了什么?

0 投票
1 回答
1154 浏览

visual-c++ - 使用 GMock 测试非虚拟方法

如何在 VC++ 中使用 Google 模拟和 Google 测试非虚拟方法,而无需修改原始代码。对于 MFC VC++(对话框)。我可以在哪里以及如何在我的遗留代码中实现 GMock。任何人都可以为这些事情提供详细的解释。

谢谢你。

0 投票
1 回答
446 浏览

c++ - 使用 gmock 对非虚函数更改源代码

我们正在通过 Gmock 库为非虚函数构建 Mock 函数,即高性能依赖注入。我们发现我们需要模板化我们的生产代码来模拟非虚函数。

我的问题是,有没有办法在不更改源代码的情况下模拟非虚函数,即不将模板添加到类中。

谢谢,

~曼达