【发布时间】:2019-07-28 15:53:53
【问题描述】:
我在 python 中定义了一个加法函数,当我使用 python unittest 模块运行单元测试时,浮点加法测试用例失败。是否有任何参考可以轻松处理浮点运算的良好 python 模块。
感谢您帮助解决加法函数的错误,以返回小数点后的非零数字。
我尝试对结果进行四舍五入并运行测试,还尝试将预期结果转换为浮点数。
p3.py
def addition(a,b):
return a + b
函数的单元测试用例在 p3_test.py 中定义
import unittest
from p3 import addition
class TestAddition(unittest.TestCase):
def test_Addition(self):
self.assertEqual(addition(2, 3), 5)
self.assertEqual(addition(0, -1), -1)
self.assertEqual(addition(-1, 0.99), -0.01)
第三个测试用例失败并出现以下错误:
self.assertEqual(addition(-1, 0.99), float(0.01))
AssertionError: -0.010000000000000009 != 0.01
----------------------------------------------------------------------
Ran 1 test in 0.000s
希望所有测试用例都通过
【问题讨论】:
-
我认为您有 2 个问题。第一个是 - 1 + 0.99 = - 0.01,而不是 0.01。
-
感谢 -0.01 Brat 的捕获,我更正了。
标签: python-3.x python-2.7 python-unittest