首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google测试返回值

Google测试返回值
EN

Stack Overflow用户
提问于 2012-06-21 21:33:38
回答 1查看 13.2K关注 0票数 0

我正在使用Google Test和Google Mock框架进行项目的单元测试。我有各种单元测试项目,我想让我的构建自动化,以便运行所有这些项目。

我期望单元测试的可执行文件在成功时返回0,在任何测试失败时返回1(或任何其他值),但当所有测试都通过时,我得到的是1。我收到了一些GMOCK警告,但找不到任何有关影响返回值的警告的文档。

我尝试运行测试过滤,只运行一个测试用例,其中没有触发GMOCK警告,并且仍然得到1作为返回值。

我有几个禁用的测试用例,所以我把它们注释掉了。仍获取1作为返回值。

根据RUN_ALL_TESTS宏的文档和代码注释,返回值应为0。

我想不出还有什么会导致返回值为1。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 22:49:11

如果您查看gtest.h中的RUN_ALL_TESTS()宏的定义,就会清楚地说明如果没有失败,则返回0:

代码语言:javascript
复制
// Use this macro in main() to run all tests.  It returns 0 if all
// tests are successful, or 1 otherwise.
//
// RUN_ALL_TESTS() should be invoked after the command line has been
// parsed by InitGoogleTest().

#define RUN_ALL_TESTS()\
  (::testing::UnitTest::GetInstance()->Run())

显然,即使是警告(来自gmock)也可能导致返回值为1。尝试一下如果消除gmock警告(例如,使用s.th )会发生什么。比如包装模拟类实例的NiceMock<> )。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11139349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档