📜  Python unittest – assertNotAlmostEqual()函数(1)

📅  最后修改于: 2023-12-03 14:46:05.667000             🧑  作者: Mango

Python unittest – assertNotAlmostEqual()函数

unittest是Python自带的测试框架,可以用于进行单元测试。其中,assertNotAlmostEqual()函数用于比较两个数是否不相等。

函数格式
assertNotAlmostEqual(first, second, places=None, msg=None, delta=None)

参数说明:

  • first:第一个数
  • second:第二个数
  • places:比较小数时的位数,默认为7
  • delta:两个数之间的最大误差,当指定了delta时,places参数会被忽略
  • msg:比较失败时的错误提示信息
使用示例
import unittest

class Test(unittest.TestCase):

    def test_not_almost_equal(self):
        self.assertNotAlmostEqual(1.23456789, 1.23456780)
        self.assertNotAlmostEqual(1.0, 1.000001, delta=0.00001)
        self.assertNotAlmostEqual(3.14159265359, 3.141592653, places=9)
        self.assertNotAlmostEqual(3.1415, 3.1415, delta=0.1)

if __name__ == '__main__':
    unittest.main()

上述测试示例中,第一个assertNotAlmostEqual()比较了两个小数,由于它们的小数位不完全相同,故测试通过。第二个assertNotAlmostEqual()比较了两个小数,但指定了delta参数,两个小数的差值不超过0.00001,故测试通过。第三个assertNotAlmostEqual()比较了两个小数,要求小数位必须完全相同,故测试通过。第四个assertNotAlmostEqual()比较了两个小数,虽然它们的误差大于0.1,但由于没有指定delta参数,故将places参数忽略,按照小数位数来比较,故测试不通过。

总结

assertNotAlmostEqual()函数用于比较两个数是否不相等,可以用于测试小数比较。需要注意的是,在比较小数时,可能会存在精度问题,可以通过指定places或delta参数来解决。