我在视图中使用函数来查询db(PostgreSQL),计算值并返回列表列表。当我从views.py调用它时,我得到了预期的结果。当我从test.py调用它时,我得到一个空列表(不是错误,不是None)。为了进行调查,我在视图函数中手动创建了列表列表,并且返回的很好(因此导入或返回值的长度没有问题)。看来,如果我调用从进行数据库查询的视图导入的函数,并且从TestCase对象调用了该函数,则数据库查询不会完成。为什么?
from django.test import TestCase
from <my app>.views import calc
import datetime
from pytz import timezone
class CalcTestCase(TestCase):
maxDiff = None
def test_calc_image(self):
start_time = datetime.datetime(2018, 9, 1, 0, 0, 0, 0, tzinfo=timezone('UTC') )
finish_time = datetime.datetime(2018, 10, 1, 0, 0, 0, 0, tzinfo=timezone('UTC') )
instance_type = "test"
output = calc(instance_type, start_time, finish_time)
test_output = [[test, values, in],[list, of, lists]]
self.assertEqual(output, test_output)