При написании тестов для моего приложения Flask я столкнулся с проблемой при попытке установить параметры конфигурации Flask.
Обычно я делаю это так:
import unittest
from factory import create_app
class ConfigTests(unittest.TestCase):
def setUp(self):
app = create_app('flask_test.cfg')
app.testing = True
self.app = app.test_client()
def test_app_is_development(self):
self.assertTrue(self.app.config['SECRET_KEY'] is 'secret_key')
self.assertTrue(self.app.config['DEBUG'] is True)
Это приводило кошибка
AttributeError: объект 'FlaskClient' не имеет атрибута 'config'
Только из отладки я обнаружил, что вместо этого не было атрибута "config", мне пришлось идти self.app.application.config
чтобы заставить его работать.
import unittest
from factory import create_app
class ConfigTests(unittest.TestCase):
def setUp(self):
app = create_app('flask_test.cfg')
app.testing = True
self.app = app.test_client()
def test_app_is_development(self):
self.assertTrue(self.app.application.config['SECRET_KEY'] is 'secret_key')
self.assertTrue(self.app.application.config['DEBUG'] is True)
Я что-то делаю, Flask изменил это в обновлении или есть лучший способ сделать это?
РЕДАКТИРОВАТЬ: Неправильно размещен кодв верхнем блоке теперь правильно