我有一个单元测试,并且从“距离”计算中存储在实际变量中的数字是6.07328028312884,但仍然表示测试失败。为什么?
double expected = 6.07328028312884;
double actual;
actual = target.Distance((double)latitude, (double)longitude);
actual = actual / 1000;
Assert.AreEqual(expected, actual);
最佳答案
正如Matt所说,比较两个浮点数是否相等不是一个好主意,请使用带有小epsilon的Math.Abs(expected-actual)<epsilon
。
关于c# - 为什么此Microsoft单元测试失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068253/