为了账号安全,请及时绑定邮箱和手机立即绑定

在 django 测试的导入函数中运行 db 查询是否有限制?

在 django 测试的导入函数中运行 db 查询是否有限制?

宝慕林4294392 2021-07-01 16:09:19
我在视图中使用函数来查询 db (postgresql),计算值并返回列表列表。当我从 views.py 调用它时,我得到了预期的结果。当我从 test.py 调用它时,我得到空列表(不是错误,不是无)。为了进行调查,我在视图函数中手动创建了列表列表,并且返回得很好(因此导入或返回值的长度没有问题)。看来,如果我调用从视图导入的函数进行 db 查询,并且它是从 TestCase 对象调用的,那么 db 查询就不会完成。为什么?from django.test import TestCasefrom <my app>.views import calcimport datetimefrom pytz import timezoneclass 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)
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

因为测试总是从空数据库运行。您需要在测试用例本身中为您的测试创建条目。请参阅测试文档


查看完整回答
反对 回复 2021-07-13
  • 1 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信