【发布时间】:2015-03-12 06:48:44
【问题描述】:
我正在使用 Boost 单元测试框架来比较双打。结果符合预期,但我猜 BOOST_CHECK_CLOSE 无法正确识别它们。代码实质如下:
BOOST_AUTO_TEST_CASE(FooBarTest)
{
double foo = 2.2500000047015632e-006;
double bar = 0.0;
double tolerance = 90.0;
BOOST_CHECK_CLOSE(foo, bar, tolerance);
}
此操作失败并显示以下消息:
error in [...]: difference{1.#INF%} between foo{2.2500000047015632e-006} and bar{0} exceeds 90%
我正在使用带有 VC100(Visual Studio 10 编译器)的 Boost 1.55。我正在编译 Win32 Release。
这是我应该期待的结果吗?我想这些值彼此足够接近,它应该返回成功。 Boost 内除是否为 0.0?
【问题讨论】:
标签: c++ unit-testing boost