问题标签 [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.
unit-testing - 如何使用带有 Jam 的 gtest_main 库构建 googletest 单元测试?
我正在尝试构建一个 googletest 单元测试,以作为我们可能使用的新单元测试框架的概念证明。在 googletest 中,有两种编写单元测试的方法:使用 main 或不使用 main。如果您没有定义 main,您可以链接到 gtest_main 库,其中包含一个 main() 函数,为您节省一些时间。在我的环境中,我们使用 Jam 构建二进制文件。我已经在我的代码中使用 main() 编译二进制文件并使用 libgtest 库,但我正在寻找如何在没有 main 的情况下在 Jam 中构建它。
基本情况(带有 main() 函数):
我可以用这个构建一个二进制文件:
破案(没有 main() 函数):
我无法用这个构建二进制文件。当我尝试链接对象时看到许多错误:
我收到许多与未定义的 blah 引用有关的链接器错误。未定义的引用似乎来自 testing::internal 命名空间,这不是我的代码的一部分。
关于如何解决这个问题的任何想法,或者寻找更多关于这个问题的线索?
c++ - 在 Eclipse 中使用 googletest:如何?
我已经下载了谷歌测试,但现在我不知道如何将它链接到我在 Eclipse 中的项目。我应该将其添加为源文件夹吗?应该将它包含为 g++ 包含的库吗?那我该如何运行测试呢?
c++ - 将带有模板参数的方法传递给宏
我无法将 Google Test 的ASSERT_THROW()
宏与多个模板参数结合使用。考虑到我想确保Matrix<5,1>
抛出的构造:
(这个例子没有多大意义,当然这不应该抛出,但它是简化我所拥有的之后留下的。)
我从 MS VC++ 2008 得到这个输出:
而在以下方面没有问题:
我该如何克服这个问题?
谢谢!
c++ - 在 C++ 类的构造函数中抛出异常是一种好习惯吗?
我有这个引发异常的构造函数
initHints() 执行 _hints 的 memset 并设置一些变量。
我用谷歌测试框架测试它,如下所示:
测试失败并出现核心转储:
除了我不知道到底出了什么问题之外,我怀疑一些未初始化的对象被删除了(?),很多事情似乎在幕后发生,所以我开始怀疑在构造函数中抛出异常是否是一种好习惯。将这个功能放在另一个我可以在创建对象后调用的函数中,然后处理异常是否更好?
visual-studio - 如何使用 Visual Studio 设置 $(OutDir)、$(TargetName)、$(TargetExt) 和 %(Lib.OutputFile)?
我正在尝试在 Visual Studio 2010 上构建gtest。转换解决方案文件后,我尝试构建,并收到以下警告消息。
消息说我需要设置变量$(OutDir)
和$(TargetName)
以及$(TargetExt)
中指定的属性值%(Lib.OutputFile)
。
我如何使用 Visual Studio(尤其是 VS 2010)做到这一点?
c++ - 在 Google 测试中打印 exception.what()
我的一些代码使用
我正在使用 Google Test 和 TeamCity 自动执行我的测试。它在 Windows 上运行,因此如果发生意外异常,我使用 --gtest_catch_exceptions 参数将测试报告为失败。但是,Google Test 只是通过以下消息使测试失败
这不是很有帮助。我宁愿有这样的消息
我有一个实现该方法的自定义 TestListener
但似乎没有提到谷歌测试捕获的异常。有没有其他方法可以向 std::cout 或其他地方报告异常?
请注意,我不能使用
没有 --gtest_catch_exceptions,因为测试执行会在第一个异常时“取消”。
我也不想更改投掷代码。
感谢您的任何想法!
visual-studio - 如何使用 msbuild 构建一些项目配置
gtest 的 msvc 目录有 gtest 项目文件,使用 Visual Studio 打开它使我能够使用 Batch Build 从 8 个配置中选择构建(gtest/gtest_main/gtest_prod_test/gtest_unittest x release/debug)。
如何使用msbuild工具做同样的事情?例如,我如何告诉 msbuild 构建 gtest/Debug 或 gtest_unittest/Release?
unit-testing - Boost 测试与谷歌测试框架
我是单元测试世界的新手,基本上我是 C++ 开发人员,在大型产品上工作了将近 3 年,现在我决定对我的代码执行自动化单元测试。为此,我在互联网上进行了大量研究,遇到了许多工具和框架,最后选择了以下两个:1)Boost Test Libraries 2)Google Test Framework for c++
现在我很困惑从这些中选择哪个。如果有人使用上述任何一种,请分享您的经验。
c++ - 如何将参数传递给gtest
如何将参数传递给我的测试套件?
我有以下主要的 gtest 代码。并且--number-of-input=5
应该传递给 InitGoogleTest()。
我不知道如何将我的参数传递给测试套件/用例,如下所示?
添加
我修改了 main 方法以在InitGoogleTest()
.
这是给 gtest: 的参数./s --number-of-input=5 --gtest_filter=Test_Cases1*
。
这是结果:
gtest 过滤掉不具有 名称的测试Test_Cases1
,并且它还显示除以 开头的参数之外的正确参数gtest
。
c++ - 将 QTest 与其他框架进行比较
您能否将流行的 C++ 单元测试框架与 Qt 的 QTest 进行比较?
(cppunit,升压测试,谷歌测试等。)
有哪些优点缺点?谢谢你。
注意:GUI 测试对我们来说不是很重要。