首页 文章

使用fabric运行django测试

提问于
浏览
2

我有一个结构脚本,试图为我编写的应用程序运行测试 .
它已经使用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行,在test 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行,执行输出= self.handle(* args,** options)文件”/usr/local/lib/python2.6/dist-packages/django /core/management/commands/test.py“,第37行,处理失败= 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 (标签)文件“/usr/local/lib/python2.6/di st-packages / django / db / models / loading.py“,第140行,在get_app中引发了ImproperlyConfigured(”无法找到带有标签%s的应用程序“%app_label)django.core.exceptions.ImproperlyConfigured:带有标签envconf的应用程序找不到

这是我的代码:import 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 回答

  • 2

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

    在django的trac中打开issue .

  • 0

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

相关问题