可以在运行测试环境之前将数据插入django测试数据库吗?

问题描述 投票:0回答:1

问题描述

我正在寻找一种在运行django test之前将数据插入django测试数据库的方法。发生此要求是因为url设置如下所示。

urls.py

group_names = Group.objects.values_list('name', flat=True)
for group in group_names :
    url(r'^{}/{}'.format(group,'webindex'), web_index)

例如,如果数据库组表中有group1和group2,则URL为'/ group1 / webindex /'和'/ group2 / webindex /'。在生产环境中时可以找到此作品。页面显示成功。因为生产数据库已经退出了组数据。但是,当我想为web_index编写测试用例时,发生了问题。这是我的代码。

tests.py

class webindexTestCase(TransactionTestCase):
    fixtures = ['./auth_group.json']
    def test_webindex(self):
        c = Client()
        r = c.get('/group1/webindex/')
        print(r.status_code)

运行测试时,http响应代码始终为404。据我所知,这是因为在运行django test时,在将组数据插入测试数据库之前已设置了网址。因此,我想知道是否有一种方法可以在设置urls模式之前将数据插入django测试数据库,或者在运行此测试时重置urls模式?

python django django-urls django-testing
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.