Я тестирование правильной работы моей функции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
тесты хорошо работать, но два теста ведут себя по-разному: «корректировочного «дело компилируется ОК,« ложный »случай представляет с предупреждением
В файле, прилагаемом к /... ./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' в тип указателя для аргумента 1 из 'char testing :: internal :: IsNullLiteralHelper (testing :: internal :: Secret *)' [-Wconversion-null] (sizeof (:: testing: : internal :: IsNullLiteralHelper (x)) == 1) ^
Почему gtest хочет преобразовать 'false' в указатель? И почему не «правда»? Я что-то пропустил?
Почему вы не используете 'EXPECT_TRUE' и' EXPECT_FALSE' для булевых тестов? –