def fixture(self, name):
...
user = User(123)
user.first_name = 'Houman'
db.session.add(user)
db.session.commit()
return news_list, user
def test_update(self):
with app.app_context():
news_list, user = self.fixture('/topnews_id.json')
user.first_name = 'John'
user2 = db.session.query(User).get(user.id)
user2显示第一个名称==' John',由于我还没有完成db.session.commit()
我期待user2.first_name
,所以没有任何意义是' Houman'。
我相信在尝试检索用户之前我必须清除app_context。它是否正确?怎么能实现呢?
答案 0 :(得分:2)
这是预期的,因为SQLAlchemy将返回存储在内存中的任何值,SQLAlchemy是智能的,因为每次执行某事时都不会对数据库进行提交。