我想在内存中使用 Flask + Werkzeug + SQLite 测试我的应用程序 API。
该应用程序是使用应用程序工厂模式配置的,如下所示:
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:'时出现错误。
有什么想法可以解决这个问题吗?
谢了。