Ошибка при написании тестов для flask
Я пытаюсь использовать библиотеку flask testing. Мой код выглядит следующим образом:
from flask_testing import TestCase
from main import MyView
from main import app
class TestMyPage(TestCase):
def create_app(self):
app.config['TESTING'] = True
self.general_view = MyView('flask.db')
self.general_view.associate_funcs(app)
self.client = app.test_client()
return app
def test_index(self):
response = self.client.get('/')
self.assert_200(response)
self.assert_template_used('index.html')
def test_my_page(self):
with self.client.session_transaction() as session:
session['user_id'] = 766217
session['password'] = 'snowflakes'
response = self.client.get('/mypage')
self.assertRedirects(response, f'/page/{session["user_id"]}')
Так или иначе, на втором тесте происходит остановка с ошибкой:
AssertionError: The setup method 'add_url_rule' can no longer be called on the application. It has already handled its first request, any changes will not be applied consistently. Make sure all imports, decorators, functions, etc. needed to set up the application are done before running it.
Я честно не понимаю почему это происходит, так как add_url_rule вызывается только через метод associate_funcs в create_app. Почему тогда первый тест работает нормально?