Я новичок в Pytest. Я хочу протестировать свои представления, требующие входа в систему (украшенные @login_required
).
У меня есть следующая тестовая функция:
def test_add_new_post(self, client, user):
login_user(user)
assert current_user == user
data = {
'title': 'This is test post',
'body': 'This is test body'
}
client.post(url_for('posts.add_new'), data=data)
assert Post.query.count() == 1
где client
:
@pytest.fixture(scope='session')
def client(request, app):
return app.test_client()
assert current_user == user
возвращает True
, но client.post
возвращает страницу входа, потому что login_required
перенаправляет на страницу входа. Почему это происходит и как правильно это сделать?