Если у вас есть настройка базы данных в Django, как вы можете заставить TestRunner использовать «живую» базу данных (в соответствии с настройками DATABASE_ * в settings.py
) вместо того, чтобы запускать их в базе данных эфемерного теста.
Например, я хотел бы запустить следующий тест для базы данных live
, указанной в settings.py
:
import unittest
from example import models
class DBDriverTest(unittest.TestCase):
db testDriver(self):
"Connect to the live database and drop in sample value."
m = models.MyModel('hello')
m.save() # ... save to the live database from settings.py
В настоящее время приведенный выше код сохраняется только в созданной тестовой базе данных. Это очень ограничивает, потому что мое приложение имеет несколько параллельных процессов, работающих с базой данных - и мои модульные тесты будут неполными (и непоследовательными) без возможности перекачивать данные в «живую» базу данных и видеть, где они находятся после короткого сна.
Два возможных варианта, о которых я могу подумать:
Подключите Django API, чтобы выяснить, как «вручную» подключиться к базе данных в settings.py
Установите низкоуровневое соединение с «живой» базой данных и заполните ее вручную
Приоритет проблематичен, потому что он полагается на вещи под открытым API Django. Последнее проблематично, потому что оно отказывается от независимого от базы данных API базы данных Django и требует более интенсивного использования вручную.
Я благодарен за ваши мысли и вклад.
Brian