我正在测试我的功能的正确操作
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
测试运行正常,但两个测试表现不同:“真实”和“真实”。案件编译确定,“假”'案件提出警告
包含来自的文件 / ..../build/gtest/src/gtest/include/gtest/gtest.h:1929:0, 来自/ ... .cpp:1: / ... .cpp: 在成员函数'虚拟空虚 ...... :: TestBody()': / ... /build/gtest/src/gtest/include/gtest/internal/gtest-internal.h:133:55: 警告:将'false'转换为'char的参数1的指针类型 测试::内部:: IsNullLiteralHelper(测试::内部::秘密*)” [-Wconversion空] (sizeof(:: testing :: internal :: IsNullLiteralHelper(x))== 1) ^
为什么gtest想要转换' false'指针?为什么不'真的'? 我错过了什么吗?
答案 0 :(得分:8)
对于布尔值,您需要使用EXPECT_TRUE()
和EXPECT_FALSE()
而不是EXPECT_EQ
。
答案 1 :(得分:0)
问题不在于gtest,它实际上是here所述的gcc错误。