问题标签 [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 投票
6 回答
20482 浏览

c++ - wxWidgets:如何在不使用宏且不进入主应用程序循环的情况下初始化 wxApp?

我们需要使用Google Test Framework为wxWidgets应用程序编写单元测试。问题是wxWidgets使用宏IMPLEMENT_APP(MyApp)来初始化并进入应用程序主循环。这个宏创建了几个函数,包括int main()。google 测试框架还为每个测试使用宏定义。

其中一个问题是无法从测试宏中调用 wxWidgets 宏,因为第一个宏会创建函数。因此,我们发现可以将宏替换为以下代码:

这是一个很好的替代品,但是 wxEntry() 调用会进入原始应用程序循环。如果我们不调用 wxEntry() ,应用程序的某些部分仍然没有初始化。

问题是如何初始化 wxApp 运行所需的一切,而不实际运行它,以便我们能够对它的部分进行单元测试?

0 投票
10 回答
310488 浏览

c++ - C++单元测试框架比较

我知道已经有一些关于 C++ 单元测试框架建议的问题,但所有答案都没有帮助,因为他们只是推荐了其中一个框架,但没有提供任何关于(功能)比较的信息。

我认为最有趣的框架是 CppUnit、Boost 和新的 Google 测试框架。有人做过比较吗?

0 投票
8 回答
12374 浏览

c++ - 是否有适用于 Windows 的“Google 测试”( gtest ) 的图形测试运行程序?

似乎是一个很棒的 C++ 单元测试框架。我只是想要一些比控制台输出更复杂的东西来运行测试,也让运行特定测试变得非常容易(因为 gtest 支持各种测试过滤)

如果什么都没有,我可能会自己动手

0 投票
3 回答
20960 浏览

c++ - 无法让 hudson 解析 JUnit 测试输出 XML

编辑:这个问题已由谷歌在 gtest 1.4.0 中修复;有关更多信息,请参阅原始错误报告

我最近为我的 C++ 测试框架切换到 gtest,我目前无法使用它的一个重要功能是能够生成 JUnit 样式的 XML 测试报告,然后可以由我们的 hudson 构建服务器读取。

gtest 测试套件生成的 XML 输出看起来都是合法的:

我还尝试将 JUnitReport 任务添加到我的 ant 构建脚本中,该脚本运行良好,并像这样生成 XML:

问题是,每当我告诉 ant 发布 JUnit 测试结果,然后将其指向原始测试结果 XML 或 ant JUnitReport 任务中生成的编译结果时,hudson 总是抱怨在那里找不到测试结果。

我不是 java 人,所以我不知道这里发生了什么,也找不到 JUnit XML 应该是什么样子的示例。有人可以帮我指出正确的方向吗?

0 投票
6 回答
65805 浏览

c++ - 如何使用 Visual Studio 2005 设置 Google C++ 测试框架 (gtest)

它没有在网站上记录,人们似乎在设置框架时遇到了问题。有人可以展示示例项目设置的分步介绍吗?

0 投票
3 回答
1116 浏览

c++ - 单元测试和模拟 C++ 中的小型类值类

我正在尝试为现有的 c++ 项目设置一些单元测试。

设置如下:我选择了 Google Mock,其中包括 Google Test。我在 Visual Studio 解决方案中添加了另一个项目(称为测试)。要测试的单元位于另一个名为 Main 的项目中。计划是将我要测试的每个 cpp 文件添加到 Tests 项目中。Tests 项目可以访问 Main 中的所有头文件。

我在 Tests 项目中添加了一个 cpp 文件,它可以编译,但出现链接器错误。大多数是因为从 COleDateTime 派生的一个类,称为 CTimeValue。被测单元具有按值传递 CTimeValue 参数的方法,并且还声明了一些 CTimeValue 属性。

我想单独测试 UUT,并对所有依赖项使用模拟和伪造。我不知道如何使用 CTimeValue 来做到这一点。它用作值,不包含虚拟方法,但仍然相当复杂,值得单独进行单元测试。

CTimeValue 只是项目中许多这样的类之一。如何隔离使用这些用户定义类型的类的测试?

干杯,菲利克斯

0 投票
1 回答
168 浏览

oracle - 单元测试由 oracle 支持的 mfc 应用程序?

App:MFC 由 oracle 支持 单元测试框架:googletest 我将对这里添加到项目中的代码进行单元测试。单元测试框架是 googletest。我是单元测试的新手。googletest 是否适合我的应用程序我该如何开始?

0 投票
4 回答
3384 浏览

c++ - c ++命名空间与gtest和boost的冲突

如果我同时包含gtest/gtest.hboost/math/distributions/poisson.hpp我得到

如何防止这两个库命名空间发生冲突?

0 投票
7 回答
5100 浏览

c++ - 如何对控制台输入类进行单元测试?

在我的一个应用程序中,我有一个负责用户输入的类。默认的输入方法是控制台(键盘),我想为它写一些单元测试以确保它是正确的。

我正在考虑使用google-test框架进行单元测试,这使得自动化所有测试变得容易。但是,我不确定如何自动测试控制台输入。

有什么方法可以模拟键盘上的用户输入吗?还是我必须手动输入我的测试输入?或者可能重定向stdin(在运行单元测试时在代码中或通过管道)?

编辑:我计划使用 GNU readline 进行用户输入。目前我看不到任何重定向这个库的输入流的方法——也许其他人有这方面的经验?

0 投票
3 回答
1560 浏览

c++ - 用于庞大的遗留代码库的 MSTest

我们有一个庞大的代码库,包含大约 1000k 行本机/非托管遗留 c++ - 代码,我们将为代码提供单元测试,MSTest 将非常适合我们当前的开发环境(TFS,VS 2010,...)。我知道 MSTest 最初是为了测试托管代码,但它也可以为非托管 sc 编写单元测试。

将 MSTest 用于非托管代码是否有任何(以后)缺点?有没有人有这方面的经验?

第二种意见是使用 Google.Test,但我必须编写一个 Visual Studio 插件才能将 gtest 框架集成到我们的环境中。

提前致谢!