gpt4 book ai didi

python - 在 django 测试中导入函数中运行数据库查询是否有限制?

转载 作者:行者123 更新时间:2023-12-01 08:56:28 25 4
gpt4 key购买 nike

我在 View 中使用函数来查询数据库(postgresql)、计算值并返回列表列表。当我从views.py 调用它时,我得到了预期的结果。当我从 test.py 调用它时,我得到空列表(不是错误,不是无)。为了进行调查,我在 View 函数中手动创建了列表列表,并且它返回得很好(因此导入或返回值的长度没有问题)。看来,如果我调用从进行数据库查询的 View 导入的函数,并且从 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)

最佳答案

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

关于python - 在 django 测试中导入函数中运行数据库查询是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com