我正在处理以下问题unittest2
:
assertAlmostEqual(69.88, 69.875, places=2) # returns True
但
assertAlmostEqual(1.28, 1.275, places=2) # returns False
我认为问题出在assertAlmostEqual
方法上:
def assertAlmostEqual(self, first, second, places=None, ...):
if first == second:
# shortcut
return
...
if delta is not None:
...
else:
if places is None:
places = 7
if round(abs(second-first), places) == 0:
return
...
raise self.failureException(msg)
它应该是:
if abs(round(second, places) - round(first, places)) == 0
return