c – EXPECT_EQ对于double或float的总和出错

c – EXPECT_EQ对于double或float的总和出错,第1张

概述我无法理解为什么测试用例在双重数字或浮点数的情况下失败.它对于整数数据类型非常精细. // simple_method.h中的方法 double sum ( double a, double b){ double res = a+b; return res;} //这个方法的测试用例 TEST(simpleSum, sumOfFloat){ EXPECT_EQ(4.5 我无法理解为什么测试用例在双重数字或浮点数的情况下失败.它对于整数数据类型非常精细.

// simple_method.h中的方法

double sum ( double a,double b){    double res = a+b;    return res;}

//这个方法的测试用例

TEST(simpleSum,sumOffloat){    EXPECT_EQ(4.56,sum(0.56,4.0));}

//输出是

Running main() from gtest_main.cc[==========] Running 1 test from 1 test case.[----------] Global test environment set-up.[----------] 1 test from simpleSum[ RUN      ] simpleSum.sumOffloat/home/pcadmin/Desktop/so/so3/simple_method_test.cpp:7: FailureValue of: sum(0.56,4.0)  Actual: 4.56Expected: 4.56[  Failed  ] simpleSum.sumOffloat (0 ms)[----------] 1 test from simpleSum (0 ms total)[----------] Global test environment tear-down[==========] 1 test from 1 test case ran. (0 ms total)[  PASSED  ] 0 tests.[  Failed  ] 1 test,Listed below:[  Failed  ] simpleSum.sumOffloat 1 Failed TEST
解决方法 改为使用 EXPECT_NEARDoubleEq匹配器.浮点 *** 作可能导致 rounding errors,这使得结果有所不同. 总结

以上是内存溢出为你收集整理的c – EXPECT_EQ对于double或float的总和出错全部内容,希望文章能够帮你解决c – EXPECT_EQ对于double或float的总和出错所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1232895.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存