Выполнение тестов Django с использованием ткани - PullRequest
2 голосов
/ 14 марта 2011

У меня есть скрипт фабрики, который пытается запустить тесты для приложения, которое я написал.
Он уже установлен с помощью setup.py, и я могу импортировать его.
Я следую найденному мной скрипту здесь .
Моя проблема в том, что django-admin не находит мое приложение:

Traceback (последний вызов был последним):
File "/ 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) File" /usr/local/lib/python2.6/dist-packages/django/core/management/base.py ", строка 220, в файле output output = 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 = 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 ", строка 140, в get_app подъемане найден

Вот мой код: 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 голосов
/ 14 марта 2011

Я нашел проблему при копании в коде.
По какой-то причине вы не можете запустить тесты, если у вас нет файла models.py.

Открыл выпуск в треке Джанго.

0 голосов
/ 14 марта 2011

Хммм ... Я не уверен, но, возможно, настройки настроены неправильно. NAME должен быть полным путем к файлу базы данных sqlite.По документам: http://docs.djangoproject.com/en/1.2/ref/settings/#name

...