Django在测试中加载装置(不是来自已安装的应用程序)

时间:2012-01-17 03:16:13

标签: django unit-testing testing fixtures testcase

有没有办法加载不在appname / fixtures中的灯具?根据{{​​3}},灯具必须在INSTALLED_APPS目录中

2 个答案:

答案 0 :(得分:2)

您可以使用FIXTURE_DIRS设置定义其他位置以搜索灯具:https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS

答案 1 :(得分:1)

只需使用call_command以编程方式调用'loaddata'。你可以在setUp中完成。

from django.test import TestCase
from django.core.management import call_command

class GlobalSetup(TestCase):
    def setUp(self):
        # Manually calling loaddata to import fixures 
        # that are not in INSTALLED_APPS
        call_command('loaddata', 'cur_dir/fixtures_name', verbosity=0)