Я начал смотреть на unittest при использовании Google App Engine. И это кажется немного сложным из того, что я прочитал. Поскольку вы не можете (и не должны) запускать тесты для хранилища данных.
Я написал абстрактный класс для эмуляции класса модели хранилища данных. И это довольно неплохо работает, возвращая макетные данные о get, all, fetch и т. Д. (Пробовал только в небольшом масштабе), возвращая результаты, похожие на dbModel.
Единственное, что я не нашел решения, которое меня устраивает, это то, как определить, какой класс модели использовать. Я хочу использовать макеты для модульных тестов и фактическую модель db.Model, когда работает веб-приложение.
Мое текущее решение выглядит так в моем .py, содержащем все db.Models:
if 'SERVER_SOFTWARE' in os.environ:
class dbTest(db.Model):
content = db.StringProperty()
comments = db.ListProperty(str)
else:
class dbTest(Abstract):
content = 'Test'
comments = ['test1', 'test2']
И кажется, что он может сломаться в любую минуту. Это путь, или можно объединить их как один класс, и если db.Model вызывается правильно, то использовать другой макет?