如何创建需要对答案进行四舍五入的单元测试

How do I create a unit test where the answer needs to be rounded up?

本文关键字:答案 四舍五入 单元测试 何创建 创建      更新时间:2023-10-16

我正在使用Google测试库编写单元测试。编译后,我收到一个错误,说:

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

如何将 Z 四舍五入,以便测试可以通过并等于 10?

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

文档在 gtest.h 中。