我有一个代码,可以像这样执行redshift查询:
def send_sql_query(source, sql_query, lst=None):
connection = psycopg2.connect(
host=os.environ["REDSHIFT_HOST"],
port="5439",
dbname="dbname",
user=os.environ["REDSHIFT_USERNAME"],
password=os.environ["REDSHIFT_PASSWORD"],
cursor = connection.cursor()
cursor.execute(sql_query, lst)
sql_results = cursor.fetchall()
return sql_results
finally:
if connection:
connection.close()
我想用一种方法来模拟这个方法,它将检索和sql_查询,并且该方法将保存一个假的db数据(json中更可取),但是将使用sql_查询对伪数据执行sql并返回结果。在
使用mock.return_值以及模拟副作用不会有帮助,因为我想验证SQL查询是否正确。编写返回结果的代码并不能真正检查SQL查询
在python中是否有一个针对它的框架?在
测试SQL需要一个SQL引擎。由于不同的数据库使用不同的方言,并且您使用PostgreSQL作为主数据库,您应该在您的开发环境中安装一个PostgreSQL实例,并在测试时将查询重定向到那里。在
当您使用环境来存储数据库的引用时,您只需设置一个指向测试数据库的测试环境。在
相关问题 更多 >
编程相关推荐