草庐IT

c++ - ASSERT_TRUE() 返回类型与 gtest 中的函数类型不匹配

当我使用Gtest中提供的ASSERT_TRUE()时,出现以下错误。返回类型与函数类型不匹配,在VS2010.中带有下划线。abc.h#include"gtest\gtest.h"classabc{pubilc:boolfun();private:boolfun1();};abc.cboolabc::fun(){ASSERT_TRUE(fun1());//Gettingerror:returntypedoesnotmatchfunctiontype}boolabc::fun1(){returntrue;//Trueorfalsedepandingonoperation}

c++ - 使用 gtest 和 google sparsehash 时元组的重新定义

所有以某种方式包含的测试用例和无法为我build。通常后者是间接包含的,但我可以像这样重现问题:#include#includeTEST(SparsehashTest,justPass){ASSERT_TRUE(true);};intmain(intargc,char**argv){::testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}问题:Infileincludedfrom/usr/include/c++/5/tr1/functional:39:0,from/usr/local/include/sparsehash

gtest单元测试框架介绍及简单使用

Gtest介绍Gtest是Google的一个开源框架,它主要用于写单元测试,检查真自己的程序是否符合预期行为。可在多个平台上使用(包括Linux,MacOSX,Windows,Cygwin和Symbian)。它提供了丰富的断言、致命和非致命失败判断,能进行值参数化测试、类型参数化测试、“死亡测试”。下载安装相关地址:http://googletest.googlecode.com/files/gtest-1.3.0.zipGitHub-google/googletest:GoogleTest-GoogleTestingandMockingFrameworkwindows下推荐使用vcpkg工具

c++ - GTest 和 GoogleMock EXPECT_CALL 在 Windows 中失败,在 Mac 上通过 char * param

我在我继承的一个项目中有一个看起来与此类似的测试std::stringvalue("teststring");constchar*buffer=value.c_str();EXPECT_CALL(object,foo(_,_,buffer,buffer.size(),_)).WillOnce(Return(0));bar(value);缓冲区是一个char*指向一串数据。我插入了像对象这样的虚拟值,只是为了关注似乎在使用EXPECT_CALL时出现的问题。在此EXPECT_CALL之后,调用方法bar将原始字符串值作为参数,然后在该方法中使用从原始字符串值构建的缓冲区调用foo。此测试

Gtest 对比 Junit

1、用例执行顺序gtest:无法人为控制执行顺序,同一套件,测试案例依据书写顺序,从上到下依次执行junit:1)类前使用@FixMethodOrder(MethodSorteds.NAME_ASCENDING)2)被@TEST修饰的测试案例名称按升序执行示例:以下两个用例会先执行:test1AbnormalStartRegister(),再执行:test2NormalStartRegister()@FixMethodOrder(MethodSorters.NAME_ASCENDING)@RunWith(AndroidJUnit4.class)publicclassRegisterTest{p

【CMake】gtest环境搭建与TDD入门(二)

上一篇文章,我们介绍了CMake:传送门这一篇文章我暂时不打算继续写CMake相关的东西了,转而写一个叫TDD的开发理论,当然,理论是需要实践支撑的,利用CMake,我简单搭了一个gtest环境。准备gtestGtest是一个跨平台的(Linux、MacOSX、Windows、Cygwin、WindowsCEandSymbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。简而言之:Gtest测试框架可以在不同平台上为编写C++测试。可以从以下途径下载gtest:GitHub:h

c++ - gtest DEATH_TEST 提示 fork() 和线程,但只有找到的线程已加入

我正在使用gtest进行单元测试,特别是在调试版本中对某些断言使用了一些DEATH_TESTS。为了SetUp()测试,我必须创建一个对象,它会创建另一个线程,关闭并执行一些工作,返回一些数据,然后加入对象的线程。最后,测试夹具的SetUp()返回,允许测试主体运行。我注意到有时DEATH_TEST会提示死亡测试使用fork(),这在线程上下文中尤其不安全。对于此测试,GoogleTest检测到2个线程。这当然是一个有效问题,如果实际上有多个线程在运行。但是,有时不存在此类警告。这似乎是一种竞争条件。所以仔细研究,我发现gtest使用/proc/self/task伪文件系统来发现线程。

c++ - 建立gtest版本

我如何知道我正在使用的项目中使用的是哪个版本的Gtest?我正在使用linux平台。 最佳答案 libgtest或libgtest_main库的源代码不包含允许识别其版本的特殊函数(例如GetGTestVersion()或别的东西)。头文件也没有任何定义的标识符(像GTEST_VERSION或其他东西)。因此,您无法在运行时在用户代码中检查GoogleC++测试框架的版本。但是维护者提供了作为框架的一部分的特殊脚本scripts/gtest-conf其中:...providesaccesstothenecessarycompilea

c++ - 将 gtest 配置为仅在控制台中显示失败的测试

是否有仅显示失败测试的选项?我不得不改用吉他来实现这一点,但我错过了命令行工具。 最佳答案 我遇到了同样的问题-我相信很多其他人都遇到过。所以我创建了这个:https://gist.github.com/elliotchance/8215283应该是粘贴和播放。 关于c++-将gtest配置为仅在控制台中显示失败的测试,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6605336

c++ - 是否有适用于 windows 的 "Google Test"( gtest ) 的图形测试运行程序?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion似乎是一个很棒的C++单元测试框架。我只是想要一些比控制台输出更复杂的东西来运行测试,也让运行特定测试变得非常容易(因为gtest支持各种测试过滤)如果没有,我可能会自己滚动 最佳答案 我打开了一个谷歌代码项目,将UI添加到谷歌测试。在Windows和Unix上运行。它不是任何IDE设计的插件——我不想