使用fabric运行django测试

时间:2011-03-13 22:38:32

标签: django django-admin fabric django-unittest

我有一个结构脚本,试图为我写的应用程序运行测试 它已经使用setup.py安装,我可以导入它 我正在按照我发现here的脚本 我的问题是django-admin找不到我的应用程序:

  

追踪(最近的呼叫最后):
  文件   “/usr/local/lib/python2.6/dist-packages/fabric/main.py”   第542行,主要部分       命令[name](* args,** kwargs)文件   “/usr/local/lib/python2.6/dist-packages/envconf/fabfile.py”,第35行,在测试中       management.call_command('test','envconf')文件   “/usr/local/lib/python2.6/dist-packages/django/core/management/init.py”   第166行,在call_command中       返回klass.execute(* args,** defaults)文件“/usr/local/lib/python2.6/dist-packages/django/core/management/base.py”,   第220行,执行中       output = self.handle(* args,** options)File“/usr/local/lib/python2.6/dist-packages/django/core/management/commands/test.py”,   第37行,处理中       failures = test_runner.run_tests(test_labels)
  文件   “/usr/local/lib/python2.6/dist-packages/django/test/simple.py”   第395行,在run_tests中       suite = self.build_suite(test_labels,   extra_tests)文件   “/usr/local/lib/python2.6/dist-packages/django/test/simple.py”   第285行,在build_suite中       app = get_app(label)文件“/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py”,   第14行,在get_app中       raise ImproperlyConfigured(“无法找到带有标签%s的应用程序”%   app_label)   django.core.exceptions.ImproperlyConfigured:   带有标签envconf的应用程序不能   结果

这是我的代码:     导入functools     import os

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')

可能出现什么问题?

2 个答案:

答案 0 :(得分:2)

我在挖掘代码时发现了问题 出于某种原因,如果没有models.py文件,则无法运行测试。

在django的trac。

中打开issue

答案 1 :(得分:0)

嗯...我不确定,但可能错误地配置了设置。 NAME 应该是sqlite数据库文件的完整路径。根据文件:http://docs.djangoproject.com/en/1.2/ref/settings/#name