вместо создания нового помощника CmpHelperFloatingPointNE, вы можете просто определить макрос как инверсию существующего помощника:
#include "gtest/gtest.h"
#define ASSERT_FLOAT_NE(val1, val2) ASSERT_PRED_FORMAT2( \
!::testing::internal::CmpHelperFloatingPointEQ<float>, val1, val2 \
)
#define ASSERT_DOUBLE_NE(val1, val2) ASSERT_PRED_FORMAT2( \
!::testing::internal::CmpHelperFloatingPointEQ<double>, val1, val2 \
)
Это не так изящно, как решение deft_code, потому что, когда утверждение не выполняется, нет никаких конкретных деталей, таких как «ожидаемое значение» и «фактическое значение», только номер строки и файл утверждения. Однако для моих целей достаточно было номера строки.