我正在尝试测试一个视图,该视图使用来自current_user的信息来创建模型,存储它的实例并返回包含模型属性的页面。 不幸的是,在使用current_user时,我在此视图中遇到问题。我似乎无法在视图中模拟用户的日志记录,因为该视图返回AnonymousUser错误(AttributeError:' AnonymousUser'对象没有属性' _sa_instance_state' )。
我怎样才能"假"测试中记录的用户是否通过了测试?
这里是测试和视图的副本
谢谢!
@api_blueprint.route('myurl', methods=['POST'])
def view():
d = does_something(request.form)
qo = models.Model(
user=current_user, # HERE IS THE PROBLEM WITH THE LOGGING SINCE IN THE TEST IT IS AN AnonymousUser
dump=d)
)
manager.session.add(qo)
manager.session.commit()
return render_template(
'my_page.html',
)
def test_view(self):
query = {
'foo': ['1', '2'],
}
self.login(test@example.com, password) # It seems it does not log an user but the test for this passed
response = self.app.post(
'myurl',
data=query,
)
def login(self, username, password):
return self.app.post('/login', data=dict(
username=username,
password=password
), follow_redirects=True)