import pytest from the_works import create_app from the_works.database import db as _db TEST_DATABASE_URI = "sqlite:///:memory:" @pytest.fixture() def app(): test_config = { "ENV": "Testing", "SQLALCHEMY_DATABASE_URI": TEST_DATABASE_URI, "SECRET_KEY": "This is my very secret key", "TESTING": True } app = create_app(test_config) # other setup can go here yield app # clean up / reset resources here @pytest.fixture(scope="function") def db(app): with app.app_context(): yield _db _db.drop_all() _db.create_all() @pytest.fixture() def client(app): return app.test_client() @pytest.fixture() def runner(app): return app.test_cli_runner()