问题标签 [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.
java - gmock 可以模拟 Java 类的静态方法吗?选择?
我无法让它工作。就像方法没有被嘲笑一样。
是否有替代的 groovy 测试框架可以更好地模拟静态 Java 方法?
2011 年 3 月 2 日更新:添加代码:
我实际上是在尝试模拟 Scala XML.loadXml(我正在尝试使用 Groovy 进行单元测试)类:
这是我的测试用例:
我尝试使用 gmock 和 metaClass 进行测试:
c++ - gmock :进行可能失败的自定义检查
我在我的单元测试中使用谷歌模拟库,并且我正在尝试进行可能失败的自定义检查。
下一个示例演示了我正在尝试做的事情:
现在我想检查假对象是否在 Send 方法中传递了 Derived 类型的对象,以及值 a。那么,该怎么做呢?
我的想法是使用 Invoke 并将调用转发到某个函数,该函数会将 dynamic_cast 从 Base 转换为 Derived,并检查值。如果类型不是预期的,则抛出异常。像这样 :
然后像这样测试:
这行得通吗?或者,还有更好的方法?
c++ - TestPlugInRunnerd.exe + gmock
我们将 cppunit 单元测试构建为 dll 并将其加载到 TestPlugInRunnerd.exe 以显示我们的结果。我们编写自己的模拟,但我想开始使用模拟框架,例如 gmock。
我下载了 gmock 并链接到它,没有太多问题。我已经使用 gmock 编写了一个模拟,它编译得很好。但后来我在 gmock 常见问题解答中阅读了以下内容:
我显然没有主线。我需要做什么才能让 gmock 使用我的 dll?我应该考虑 gmock 的替代品吗?
谢谢,
巴里
c++ - 使用 googlemock 时,我可以不模拟 C++ 接口中的所有方法吗?
我正在使用 Google Mock 1.6 RC 并试图模拟COM Interface
. COM 接口中有近 50 种方法,其中一些是从基本接口继承而来的。当我创建一个struct
从该接口继承的模拟并仅模拟我正在使用的方法时,我得到了cannot instantiate abstract class
错误。
我想知道是否可以在 googlemock 中执行此操作。
c++ - 模拟类可以从googlemock中的另一个模拟类继承吗?
模拟类可以从googlemock中的另一个模拟类继承吗?如果是,那么请帮助我理解为什么这不起作用。
我得到一个cannot instantiate abstract class
编译器错误,MockB
但不是MockA
c++ - 使用带有 boost::bind 的 Google Mock
我有一个类,其构造函数采用 Boost 函数,我想用 Google Mock 对其进行测试。以下代码显示了一个示例类以及我对其进行测试的尝试:
MyClass.h:
MyClassTest.cpp:
尝试在 Visual Studio 2008 中编译 MyClassTest.cpp 会出现以下错误:
...gmock/gmock-generated-function-mockers.h(76):错误 C2248:“testing::internal::FunctionMockerBase::FunctionMockerBase”:无法访问在类“testing::internal::FunctionMockerBase”中声明的私有成员1> with 1> [ 1>
F=void (void) 1> ] 1>
.../gmock-spec-builders.h(1656) : 见 'testing::internal::FunctionMockerBase::FunctionMockerBase' 的声明 1 > with 1> [ 1>
F=void (void) 1> ] 1>
这个诊断发生在编译器生成的函数'testing::internal::FunctionMocker::FunctionMocker(const testing::internal::FunctionMocker &)' 1 > 带 1> [ 1>
函数=void (void) 1> ]
错误源于包含 boost::bind 的行。用 void callback(){} 替换 mocked 方法消除了编译错误(但也消除了 Google Mock 的使用,达不到目的)。在不修改测试类的情况下,我尝试做的事情是否可行?
googletest - Google Mock:对具有不同参数的同一功能的多重期望
考虑某个模拟函数预计会被多次调用的情况,每次都在某个参数中使用不同的值。我想验证该函数确实被调用一次,并且在某个值列表中的每个值(例如 1、2、5)中只调用一次。
另一方面,我想避免定义一个序列,因为这将决定一个特定的顺序,这是一个我想保持自由的实现细节。
这种情况下是否有某种匹配器或其他解决方案?
我不确定这是否会以任何方式影响解决方案,但我确实打算使用 WillOnce(Return(x)) 和上面列表中的每个值不同的 x。
c++ - 模拟非虚方法 C++ (gmock)
我有课
请你能帮助如何在MethodA()
不做虚拟的情况下模拟,我不明白高性能依赖注入的概念
c++ - 具有非虚拟方法的类中的 GMock 和模拟构造函数
我需要模拟一个只有非虚拟方法的类。这个类有一个复制构造函数。我如何为此编写一个模拟方法。如果我只使用
提前致谢。
googletest - 方法和模拟具有相同的类
我有 2 种方法的课程
我想测试 Fun() 方法取决于 FunRet 返回的内容。所以我想模拟 FunRet。我宁愿不想让 FunRet 成为虚拟的。我怎么能这样做?