我有一个烧瓶应用程序,它在 a 中设置数据库连接,与此before_filter
非常相似:
@app.before_request
def before_request():
g.db = connect_db()
现在:我正在编写一些单元测试,我不希望它们进入数据库。我想g.db
用一个可以设置期望的模拟对象替换。
我的测试正在使用,如这里app.test_client()
的烧瓶文档所示。一个示例测试看起来像
def test(self):
response = app.test_client().post('/endpoint', data={..})
self.assertEqual(response.status_code, 200)
...
测试工作并通过,但它们正在访问数据库,正如我所说,我想用模拟对象替换数据库访问。我看不到任何test_client
访问g
对象或更改 before_filters 的方法。