私は私の機能の正しい動作をテストしていGTEST予期しない変換
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
テストはOK実行されますが、二つの試験は異なる挙動を示す:「真の'ケースが正常にコンパイルされ、「偽」のケースに警告が表示される
ファイル内には /.../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 'の引数1のポインタ型に変換しています。 [-Wconversion-null] (sizeof(:: testing: :内部:: IsNullLiteralHelper(x))== 1) ^
なぜgtestは 'false'をポインタに変換したいのですか?そしてなぜ「真実」ではないのですか? 私は何かが恋しいですか?
なぜブールテストに 'EXPECT_TRUE'と' EXPECT_FALSE'を使わないのですか? –