当前位置:  开发笔记 > 编程语言 > 正文

gtest意外转换

如何解决《gtest意外转换》经验,为你挑选了1个好方法。

我正在测试我的功能的正确操作

bool Core::IsMeta(void)
{
  return mProc->GetCode(mPC)->Meta;
}

使用说明

EXPECT_EQ(true,CC->IsMeta()); // The instruction pointed to is meta
EXPECT_EQ(false,CC1->IsMeta()); // The instruction pointed to is NOT meta

测试运行正常,但两个测试表现不同:'true'情况编译好,'false'情况表示警告

在/ ..../build/gtest/src/gtest/include/gtest/gtest.h:1929:0中包含的文件中,来自/ ... .cpp:1:/ ... .cpp:在成员函数中'virtual void ... :: TestBody()':/ ... /build/gtest/src/gtest/include/gtest/internal/gtest-internal.h:133:55:警告:将'false'转换为指针'char testing :: internal :: IsNullLiteralHelper(testing :: internal :: Secret*)'[-Wconversion-null]的参数1的类型(sizeof(:: testing :: internal :: IsNullLiteralHelper(x))== 1 )^

为什么gtest想要将'false'转换为指针?为什么不'真实'?我错过了什么吗?



1> Claudio..:

对于布尔值,你需要使用EXPECT_TRUE()EXPECT_FALSE(),而不是EXPECT_EQ.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有