变量的实际值和打印/调试器值之间的差异

时间:2019-06-12 19:29:06

标签: python pycharm

我正在编写测试,其中一项计算点之间的距离。当我调用该函数并打印保存该值的变量或在调试器中查看它时,就会得到。

157249.381272

当我使用相同的输入调用测试中的函数时,测试失败。 x实际上是

157249.38127194397. 

此值被打印到终端。如何获得变量的实际值而不必查看终端错误语句?最佳做法是什么?

import math
import numpy as np 
import unittest   

def test_compute_distance(self):
    x = compute_distance(0,0, 1,1)
    self.assertAlmostEqual(x,157249.381272)

EARTH_RADIUS = 6371000.0

def compute_distance(lat1, lon1, lat2, lon2):
    delta_lat = math.radians(float(lat2) - float(lat1))
    delta_lon = math.radians(float(lon2) - float(lon1))

    a = math.sin(delta_lat / 2) * math.sin(delta_lat / 2) + \
        math.cos(math.radians(float(lat1))) * \
        math.cos(math.radians(float(lat2))) * \
        math.sin(delta_lon / 2) * math.sin(delta_lon / 2)

    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))

    return c * EARTH_RADIUS

test_compute_distance()

0 个答案:

没有答案