我试图在Django web应用程序上使用pybuilder编写集成测试,但我似乎无法让它工作。发生的一个示例错误(来自Django应用程序):
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.DJANGO_SETTINGS_MODULE 是在build.py中定义的,如下所示:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")该项目存储在src/main/python中,集成测试存储在src/integrationtest/python中,正如pybuilder的文档所说的那样。
我尝试在很多不同的地方手动设置DJANGO_SETTINGS_MODULE,包括build.py和测试用例本身。settings.configure()也是如此。但它只是不想工作,我不知道我错过了什么。我想不出该尝试什么了。
发布于 2015-03-11 14:11:01
我已经将os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")添加到initialize函数中,并且不再收到此错误。
完整的build.py清单:
from pybuilder.core import init, use_plugin
import os
use_plugin("python.core")
use_plugin("python.unittest")
use_plugin("python.django")
default_task = "publish"
@init
def initialize():
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")https://stackoverflow.com/questions/28457805
复制相似问题