谷歌检测浮动不相等



是否期望浮点值不等于第二个值?

例如EXPECT_FLOAT_EQ(val1,val2(的相反

我认为GTest没有这个功能,他们在文档中解释道

有些浮点运算很有用,但并不常用。为了避免新宏的激增,我们将它们作为谓词格式函数提供,可用于谓词断言宏(例如EXPECT_PRED_FORMAT2等(。

您可以按照@idclev 463035818的建议定义一个谓词,并将其传递到EXPECT_PRED_FORMAT2(pred, val1, val2)中。谓词必须符合签名:

testing::AssertionResult pred(const char* expr1, const char* expr2,
double val1, double val2);

其中expr1&expr2是将在断言消息中使用的浮点参数的字符串表示。

您可以使用Google Mock的浮点匹配器。它们可以很容易地组合成更复杂的断言:

EXPECT_THAT(val1, Not(DoubleEq(val2)))

相关内容

  • 没有找到相关文章

最新更新