如何创建单元测试,其答案需要四舍五入?

时间:2016-05-26 14:07:51

标签: c++ unit-testing googletest

我正在使用Google测试库编写单元测试。编译之后,我收到一条错误消息:

"Error: elevation which is:10 to be equal to:Z which is 9.999999999999999325"

如何对Z进行舍入以使测试通过并等于10?

1 个答案:

答案 0 :(得分:0)

正确的方法不是围绕并测试确切的相等性,而是测试近似的相等性。 Google Test有ASSERT_FLOAT_EQEXPECT_FLOAT_EQ,如果两个浮点数可以忽略不计,则会通过,以及这些宏的双重版本,以及EXPECT_NEAR,它允许您指定可接受的差异。

文档为in gtest.h