sqlite не создает таблицу во время flask модульного теста - PullRequest
0 голосов
/ 05 мая 2020

Я просмотрел другие вопросы и некоторые проблемы с github, но до сих пор не могу их понять.

Я всегда получаю сообщение об ошибке, что таблица не найдена.

Вот мой тест :

from flask_testing import TestCase
from flask import url_for

from app_directory import app_factory, db


class RegistrationTestCase(TestCase):

    def create_app(self):
        return app_factory("test")

    def setup(self):
        self.client = self.app.test_client()
        db.create_all()

    def tearDown(self):
        db.session.remove()
        db.drop_all()

    def test_registration_page(self):
        response = self.client.get(
            url_for("registration.register")
        )

        assert response.status_code == 200
        self.assert_template_used('registration/register.html')

    def test_registration(self):

        test_data = dict(
            firstname="test",
            lastname="test",
            email="test@test.de",
            password='test'
        )

        response = self.client.post(
            url_for("registration.register"),
            data=test_data,
            follow_redirects=True
        )

        assert response.status_code == 200
        self.assert_template_used('registration/register.html')
        self.assert_template_used('login/login.html')

Моя тестовая конфигурация:

class TestConfig(Config):
    TESTING = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///' + \
        os.path.join(BASE_DIR, 'db', 'app_test.db')
    WTF_CSRF_ENABLED = False

Сама база данных создана правильно.

...