使用fabric运行django测试

使用fabric运行django测试,django,django-admin,fabric,django-unittest,Django,Django Admin,Fabric,Django Unittest,我有一个fabric脚本,它尝试为我编写的应用程序运行测试。 它已经使用setup.py安装,我可以导入它。 我正在按照我找到的脚本进行操作。 我的问题是django admin找不到我的应用程序: 回溯(最近一次呼叫最后一次): 文件 “/usr/local/lib/python2.6/dist-packages/fabric/main.py”, 第542行,主 命令[名称](*args,**kwargs)文件 “/usr/local/lib/python2.6/dist packages/e

我有一个fabric脚本,它尝试为我编写的应用程序运行测试。
它已经使用setup.py安装,我可以导入它。
我正在按照我找到的脚本进行操作。
我的问题是django admin找不到我的应用程序:

回溯(最近一次呼叫最后一次):
文件 “/usr/local/lib/python2.6/dist-packages/fabric/main.py”, 第542行,主 命令[名称](*args,**kwargs)文件 “/usr/local/lib/python2.6/dist packages/envconf/fabfile.py”,测试中的第35行 management.call_命令('test','envconf')文件 “/usr/local/lib/python2.6/dist packages/django/core/management/init.py”, 第166行,在call_命令中 返回klass.execute(*args,**默认值)文件“/usr/local/lib/python2.6/dist-packages/django/core/management/base.py”, 第220行,执行中 output=self.handle(*args,**options)文件“/usr/local/lib/python2.6/dist-packages/django/core/management/commands/test.py”, 第37行,在手柄中 失败=测试运行程序。运行测试(测试标签)
文件 “/usr/local/lib/python2.6/dist-packages/django/test/simple.py”, 第395行,运行中测试 套件=自我构建套件(测试标签, 额外_测试)文件 “/usr/local/lib/python2.6/dist-packages/django/test/simple.py”, 第285行,内置套件 app=get_app(label)文件“/usr/local/lib/python2.6/dist packages/django/db/models/load.py”, 第140行,在get_应用程序中 raise配置不正确(“找不到标签为%s的应用程序”% 应用程序(U标签) django.core.exceptions.ImpropertlyConfigured: 无法创建标签为envconf的应用程序 发现

这是我的密码: 导入功能工具 导入操作系统

from fabric.api import local, cd, env
from fabric.contrib.project import rsync_project
from django.conf import settings
from django.core import management

NAME = os.path.basename(os.path.dirname(__file__))
ROOT = os.path.abspath(os.path.dirname(__file__))

os.environ['PYTHONPATH'] = os.pathsep.join([ROOT])

env.hosts = ['omer.me']

local = functools.partial(local, capture=False)

def test():
    settings.configure(DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '.',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
        }
    },
    INSTALLED_APPS = ('envconf', ))

    print os.environ
    management.call_command('test', 'envconf')

有什么问题吗?

嗯。。。我不确定,但可能是设置配置错误NAME应该是sqlite数据库文件的完整路径。根据文档:

我在深入研究代码时发现了问题。
由于某些原因,如果没有models.py文件,则无法运行测试


在django的trac中打开了一个文件。

“.”如果您真的不需要数据库,就可以了。django测试需要一个
models.py
文件。