问题标签 [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.
unit-testing - 模拟 OutputStream 时出现 Grails GMock 错误
我花了很长时间试图启动并运行一个可以测试我的 SFTP 服务的模拟框架。我熟悉 EasyMock、PowerMock 和 JMockit,但最终选择了 GMock。test ('org.gmock:gmock:0.8.2') { excludes 'junit' }
现在我已经成功运行了快乐路径测试,我正在编写我的重试逻辑,然后是我的失败场景。我现在遇到两个问题。我似乎无法找到解决方案,因为几乎所有 Grails 和 GMock 的文档都很少。
正在测试的方法:我正在使用这个博客的 SFTP 和 JCraft 的 JSch示例,并稍微扩展了它以满足我的需要。我接受用于连接的凭据和文件名。我创建了一个 FileOutputStream,然后连接到 SFTP 服务器。如果我遇到异常,那么我将重试第 n 次(出于 SO 目的在此处进行了简化)。
所以这与博客中的方法一起工作。我写了我的快乐路径场景并让它与 GMock 一起工作。
错误1:然后我做了一个简单的复制/粘贴,除了测试方法名称之外没有改变任何东西,我收到以下错误:
这会持续一段时间。
错误 2:然后我决定注释掉快乐路径并执行重试方案。所以我尝试在任何地方使用 .times(2) 并且它不喜欢构造函数上的 .times(2) 。如果我不这样做,那么它会抱怨,因为构造函数被调用了两次,因为重试会关闭所有内容,然后在重试时重新实例化它。
然后,我尝试创建两个直到失败的所有内容的模拟,并且在第二个 FileOutputStream 模拟的构建过程中引发了某种 NPE。它似乎正在对文件进行比较。
c++ - 使用 Gmock 模拟参数化构造函数
我有要模拟的类,但它没有默认构造函数。我无法更改源代码,所以有什么方法可以使用 Gmock 模拟参数化构造函数
c++ - 使用 GMOCK 模拟具有私有构造函数的类
我有一个带有私有 Tor、Dtor 和一个 getInstance() 方法的 Singleton 类。
我需要使用 GMOCK 模拟这个类。有什么办法可以模拟它。
c++ - 使用 GMOCK 在 C++ 中模拟新运算符
有没有办法使用 GMOCK 在 C++ 中模拟新运算符或重载新运算符。例如:
在这里我需要 ptr 应该调用模拟函数,但是 ptr 正在使用 new 获取内存,所以我可以做些什么来模拟 new 在这里。
cmake - 使用 MinGW 的错误重定位地址
我在 Windows 7 64 位上使用 MinGW。
我在 NetBeans 中使用了 Google 测试(遵循 Bo Qian 的说明:http ://www.youtube.com/watch?v=TS2CTf11k1U&feature=c4-overview-vl&list=PL5jc9xFGsL8GyES7nh-1yqljjdTvIFSsh&hd=1 )并且它工作正常。最近我尝试将 Google Mock(内部带有 Google Test)链接到我的项目。我使用了 Cmake,这是我的 CmakeLists.txt 文件:
CMake 生成的 Eclipse 项目文件,可以与 MinGW 一起使用。我在“源”文件夹中添加了一些测试和代码,然后我尝试在 Eclipse 下构建它,但是我遇到了很多错误:
源文件中的类是正确的,因为我之前测试过它们。
我尝试在编译中添加一些标志并重新安装 MinGW,但它不起作用。
c++ - 使用 GMOCK 在没有类文件的情况下模拟在 .cpp 中声明和定义的静态函数
这里静态函数在同一个文件file.cpp中声明和定义。我没有在这里包含静态函数的定义。现在使用GMock我需要模拟或测试 .h 和 .cpp 中定义的所有函数。
c++ - 有没有人为 iOS 编译过 GMock
我正在尝试从 iOS 的源代码编译 GMock。我想将其编译为存档,以便多个 iOS 项目可以使用它。我正在使用 cmake 来构建这个模块(现有的构建系统使用 cmake 将 GMock 构建为 dylibs,所以如果我可以使用相同的方法会更容易)。我必须在 CMakeLists.txt 中添加以下内容才能将其构建为存档。
set(BUILD_SHARED_LIBS OFF)
存档已创建,但问题是某些测试(在 gtest_build_tests 中)失败。
有没有人成功地将 GMock 构建为 iOS 的存档?如果是这样,你们是怎么做到的??此外,我必须在不使用 Xcode 或 xcodebuild 命令的情况下从终端管理构建过程。
谢谢, 阿比奈
c++ - 签名中带有类模板参数的模拟函数
gmock 是否可以模拟在其签名中包含类模板参数的函数?例如:
gmock - 模拟非虚拟方法生成错误
我正在尝试掌握 Google Mocks 的窍门,但在尝试模拟非虚拟方法时遇到了障碍。我有一个要模拟的 Socket 类。它有一个名为“write”的非虚拟方法,它接受参数:
所以我创建了一个模拟类作为指定的食谱:
但这不会编译。它会产生以下错误:
谁能告诉我为什么??
谢谢。
c++ - 当它们相互调用时如何在同一个类中gmock函数
假设是这种情况:
现在我想对 func1() 进行单元测试,并模拟 func2() 和 func3();
那么是否可以模拟 func2() 和 func3() 而 func1() 知道调用 mock-func2() 和 mock-func3() 而不调用真正的 func2() 和 func3()?
顺便说一下我是使用类工厂来初始化类的,所以实际情况可能会稍微复杂一些
谢谢~