Как использовать тестовые приборы с другими фреймворками, чем юнит-тесты - PullRequest
1 голос
/ 13 января 2011

Я использую платформу салата для тестирования, и я хотел бы запустить тесты со свежей базой данных с некоторыми загруженными тестовыми приборами.аналогично запуску модульных тестов, когда определены контрольные приборы

возможно ли это?

1 Ответ

0 голосов
/ 27 ноября 2011

Вот фрагмент кода, который загружает приборы, которые в основном взяты из тестового примера Django.Вам просто нужно убедиться, что «дБ» указывает на правильный дБ (тест дБ).Я делаю это, просто передавая файл пользовательских настроек.«db» здесь указывает только на псевдоним, а не на фактическое соединение.Если вы используете только одну базу данных (не считая тестовую базу данных), вы просто устанавливаете для нее значение по умолчанию.Поэтому, если у вашего теста есть атрибут класса 'fixtures', он загрузит приборы с теми же правилами, что и команда управления loaddata.

    if getattr(self, 'multi_db', False):
        databases = connections
    else:
        databases = [DEFAULT_DB_ALIAS]

    for db in databases:

        if hasattr(self, 'fixtures'):
        # We have to use this slightly awkward syntax due to the fact
        # that we're using *args and **kwargs together.
        call_command('loaddata', *self.fixtures,
                         **{'verbosity': 0, 'database': db})

Вам потребуется

import from django.core.management import call_command

чтобы сделать эту работу.

...