问题标签 [googletest]

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 投票
2 回答
1262 浏览

unit-testing - 在 VS 2010 中从 MSTest 切换到另一个单元测试框架

Visual Studio 2010 通过其内置的测试运行器为单元测试提供了许多舒适的工具。不幸的是,我们不能将 MSTest 用于我们的非托管 c++ 代码库。是否可以从 MSTest 切换到例如 Google.Test 并将其与内置的 Visual Studio 测试运行程序集成?

提前致谢!

0 投票
2 回答
2569 浏览

c++ - 如何使用 vsinstr/vsperfmon 获得真正的代码覆盖率

我的基于 microsoft 的开发环境如下所示: - 巨大的原生 c++ 代码库,分为 10 个项目 - 每个项目都有一个依赖的测试项目(GoogleTest 单元测试),只是引用了要测试的源。

我使用 vsinstr 和 vsperfmon(用于检测/监视可执行文件和 dll 的 Visual Studio 工具)生成了覆盖率报告,但这并不像我预期的那样令人满意,因为报告只显示了单元测试行的覆盖率,而不是被测源(我检测了 testsuite-executable Sample_Project_Test.exe)。

例如,如果我有这样的方法:

单元测试是这样的:

我得到了 100% 的线路覆盖率,因为只有 add_ints.cpp 中的 add-part 被测量,add2 似乎被完全删除,因为它没有被触及。据我不了解整个报道错误,这似乎不正确?

0 投票
10 回答
107467 浏览

c++ - 谷歌测试中的数组比较?

我正在寻找比较谷歌测试中的两个数组。在 UnitTest++ 中,这是通过 CHECK_ARRAY_EQUAL 完成的。你如何在谷歌测试中做到这一点?

0 投票
11 回答
37137 浏览

unit-testing - 我应该为 Qt 使用什么单元测试框架?

我刚刚开始一个需要一些跨平台 GUI 的新项目,我们选择 Qt 作为 GUI 框架。

我们也需要一个单元测试框架。直到大约一年前,我们还在为 C++ 项目使用内部开发的单元测试框架,但我们现在正在过渡到使用 Google Test 进行新项目。

有没有人有使用 Google Test for Qt 应用程序的经验?QtTest/QTestLib 是更好的选择吗?

我仍然不确定我们想在项目的非 GUI 部分中使用多少 Qt——我们可能更愿意在核心代码中使用 STL/Boost,并带有一个与基于 Qt 的 GUI 的小接口。

编辑:看起来很多人倾向于 QtTest。有没有人有将它与持续集成服务器集成的经验?此外,在我看来,必须为每个新测试用例处理一个单独的应用程序会导致很多摩擦。有什么好的方法可以解决吗?Qt Creator 是否有处理此类测试用例的好方法,或者您是否需要为每个测试用例创建一个项目?

0 投票
2 回答
1711 浏览

c++ - GoogleMock - 匹配器和 MFC\ATL CString

我在 Google Group 上问过这个问题,但我想我会在这里得到更快的回复。

我正在尝试使用Google 的 Mocking 框架来测试我的代码。我也在使用他们的测试框架。我正在用VC9编译。我在匹配 MFC\ATL CStrings 的参数时遇到问题。GMock 说对象不相等,它似乎正在评估指针地址。我试图模拟的方法的结构如下:

因此:

在设定我的期望时,我正在做以下比较:

我尝试了许多不同的匹配器组合,例如:

上述任何调用都产生了相同的结果。还有其他人遇到这个问题吗?

这是输出:

Google Mock 尝试了以下 2 个期望,但没有一个匹配:

亚当

0 投票
1 回答
2659 浏览

eclipse - 在 OS X 上使用 Eclipse 设置 Google Test (gtest)

将 Google Test 设置为在 Mac OS X 上的 Eclipse 下工作的过程是什么?我按照 README 中的说明从 XCode 编译和安装 gtest 作为框架。

现在我想在 Eclipse 中使用 gtest。目前,它编译良好,但在构建过程中失败。我想 Eclipse 不像 XCode 那样使用框架概念,并且需要不同的链接方法,但我不确定在构建期间应该链接到哪些文件。

0 投票
2 回答
2236 浏览

qt - 强制库与 Qt 和 google 测试链接

我正在尝试使用谷歌测试为我的 Qt(c++) 应用程序编写一个测试套件,主要问题是我的应用程序由一个主程序和各种共享库组成。一切工作正常,直到我尝试使用 gcov/lcov(它不能在动态库上运行)进行一些代码覆盖,所以我修改了所有 .pro 文件以使用以下方法进行静态库编译:

问题是谷歌测试测试应用程序是这样的:

所以它在运行时检测到链接,这意味着当我在这里编译测试应用程序时没有警告或任何表明问题的东西,并且在运行测试应用程序时它执行 0 test 因为它没有找到任何东西。

我的解决方案(摆脱烦人的)是在每个类中定义将用于测试虚假公共静态成员并对其进行主要测试应用程序的操作:

所以我可以在我的应用程序上强制链接该库。

我还发现选项 -u 可以在 gcc 中执行类似的操作,但似乎不起作用。如果在编译时没有检测到符号,有没有人有办法强制静态库链接?

0 投票
1 回答
670 浏览

visual-studio - 包含 msxml4 后,gtest 输出未出现在 Visual Studio 输出窗口中

我已经使用 Visual Studio 8 进行了 gtest 所有设置并运行良好。

我在构建中包含了 msxml 4.0,现在测试输出不会显示在 Visual Studio 输出窗口中。

  • 如果从命令行启动应用程序将运行并返回正确的结果(没有丢失的 dll)
  • 我已经缩小了 msxml4.dll 的范围,因为如果我注释掉包含部分,一切都会恢复正常

由于我无法控制的原因,我们像这样包含 dll:

非常感谢任何想法/建议。谢谢。

0 投票
1 回答
1193 浏览

c++ - 谷歌测试和 Visual Studio 2010 RC

有没有人尝试在 VS 2010 RC 下构建gtest 1.4.0 ?
当我尝试构建它时,我得到了大约 400 个错误。提前致谢。

0 投票
3 回答
49452 浏览

c++ - 谷歌测试:代码覆盖率

是否可以通过使用谷歌测试框架的测试来完成代码覆盖率?