检查SQL查询的方式模拟数据库调用

2024-04-25 17:50:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码,可以像这样执行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中是否有一个针对它的框架?在


Tags: 数据方法代码redshiftsqlreturnosenviron
1条回答
网友
1楼 · 发布于 2024-04-25 17:50:27

测试SQL需要一个SQL引擎。由于不同的数据库使用不同的方言,并且您使用PostgreSQL作为主数据库,您应该在您的开发环境中安装一个PostgreSQL实例,并在测试时将查询重定向到那里。在

当您使用环境来存储数据库的引用时,您只需设置一个指向测试数据库的测试环境。在

相关问题 更多 >