Каковы ваши лучшие практики для работы с тестовыми данными в Django? - PullRequest
2 голосов
/ 30 сентября 2011

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

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

Прежде чем идти по этому пути, я решил спросить, что другие делают с приборами длятестирование своих приложений / проектов.

Ответы [ 2 ]

2 голосов
/ 01 октября 2011

Да, вы столкнулись с проблемой с большим набором приборов.Постоянная десериализация / загрузка складывается по мере роста вашего набора тестов.Я бы предложил написать вспомогательные функции для создания данных по мере необходимости, а не полагаться на данные.Например, у вас может быть функция для создания нового auth.User, например:

def create_user(data=None):
    data = data or {}
    defaults = {
        'username': get_random_string(),
        'email': get_random_email(),
        'password': get_random_string()
    }
    defaults.update(data)
    return User.objects.create_user(**defaults)

. Написание функции для генерации случайной строки / электронного письма - это упражнение для читателя:)

0 голосов
/ 30 сентября 2011

Убедитесь, что вы используете sqlite для тестирования. Существует значительная разница в скорости по сравнению с другими двигателями дБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...