我无法理解为什么在对双精度数或浮点数求和的测试用例中失败了。它对于整数数据类型非常好用。
//simple_method.h文件中的方法
//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: Failure
Value of: sum(0.56, 4.0)
Actual: 4.56
Expected: 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_NEAR
起作用。即使差异小于10^(-5)
,EXPECT_DOUBLE_EQ
也会失败。 - joepol