Depois de ler os documentos do SQLAlchemy e mexer na instância do banco de dados, finalmente consegui a solução. Adicione
db.get_engine(self.app).dispose()
em tearDown()
para que fique assim:def tearDown(self):
db.session.remove()
db.drop_all()
db.get_engine(self.app).dispose()
self._ctx.pop()