API Peewee Flask Test в памяти

Я хочу протестировать API своего приложения, используя Flask + Werkzeug + SQLite в памяти.

Приложение было настроено с использованием шаблона фабрики приложений, например:

def create_app(config_name):

    application = Flask(__name__)
    application.config.from_object(config_name)


    db = FlaskDB(application)
    database.initialize(db.database)
    db.database.commit()
    register_admin_blueprints(application)
    *****

    return application

И в тесте я использую:

   def setUp(self):
      app = create_app('config.test')
      self.app = app.test_client()
      self.app.testing = True
      self.headers = [('Content-Type', 'application/json')]


   def test_should_be_possible_list_all_areas(self):
      response = self.app.get('/api/1/area')
      response_json = json.loads(response.data.decode('utf-8'))
      ###

В файлеconfig.test есть переменная DATABASE.

В ***** я регистрирую данные в БД

и в ### я утверждаю свой тест.

Когда я использую DATABASE = 'sqlite:///test.db' работает нормально, но при переходе на DATABASE = 'sqlite: ///: memory:' я получаю ошибку.

Любые идеи, чтобы решить эту проблему?

Tks.

0 ответов

Другие вопросы по тегам