2

Я использую django 1.3 и записываю некоторые тесты селена & django unit tests. Я хочу знать, может ли его запускать тесты без создания баз данных? & загрузка светильников каждый раз?Django 1.3 тестирование без воссоздания базы данных/загрузки светильников для каждого запуска теста

Я наткнулся на это SO thread, который дает хороший способ протестировать без создания базы данных, но все еще сбрасывает базы данных. & перезагружает их каждый раз. Я не хочу, чтобы это произошло. Я просто хочу, чтобы тесты читали/записывали базу данных, которую я установил один раз. Я не хочу, чтобы он создавал базы данных/нагрузки каждый раз, когда я запускал любой тест.

Я был бы рад предоставить любую дополнительную информацию, если потребуется для ее сортировки.

Заранее благодарен! :)

+0

Это вы что искали? http://stackoverflow.com/questions/4606756/how-can-i-specify-a-database-for-django-tests-to-use-instead-of-having-it-build – Ngenator

+0

@Ngenator попробовал это, но Я получаю некоторые ошибки, 'DatabaseError: отношение" django_content_type "не существует LINE 1: ...". "App_label", "django_content_type". "Model" FROM "django_co ...' –

+0

Я не уверен в чем проблема. На самом деле, я не считаю, что это хорошая идея, но каждый раз, когда нужно настраивать и разрывать базу данных, это согласованность. Тот факт, что вы планируете использовать существующую базу данных, может привести к аннулированию некоторых из ваших тестов из-за того, что модели могут меняться, а данные могут быть недействительными в какой-то момент в будущем. – Ngenator

ответ

1

Я смог сделать это, взломав некоторый код джанго. Части, которые должны быть отредактированы это,

FILE: django/db/backends/sqlite3/creation.py

изменить код следующим образом:

  1. установка confirm = 'yes' в строке 55
  2. закомментировать все вхождения os.remove(test_database_name)

FILE: django/db/backends/creation.py

изменить код следующим образом

  1. комментарий 359 до 376 (промывочный часть SyncDB & в create_test_db функции.
  2. почти все в _create_test_db. (почти все == код часть, которая делает нежелательные вещи, которые мы пытаемся устранить)
  3. почти все в _destroy_test_db.
  4. почти все в destroy_test_db.

Надеюсь, что это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^