Dopo aver letto i documenti di SQLAlchemy e aver armeggiato con l'istanza db, ho finalmente ottenuto la soluzione. Aggiungi db.get_engine(self.app).dispose()
in tearDown()
in modo che assomigli a:
def tearDown(self):
db.session.remove()
db.drop_all()
db.get_engine(self.app).dispose()
self._ctx.pop()