我正在为我的Python模块构建一些单元测试,该模块通过SQLAlchemy与MySQL数据库连接。通过阅读,我了解到做到这一点的最佳方法是创建一个测试数据库,我可以查询该数据库,就像它是真实的一样。我已经做到了,但是我应该如何测试模块中的现有查询,因为它们当前都指向实时数据库?
我想出的唯一主意是做如下事情:
def run_query(engine, db_name='live_db')
engine.execute(f'SELECT * FROM {db_name}.<table_name>')
当我从test_db
运行函数时,我可以传入unittest
。有更好的方法吗?