我有几个 SQL 语句存储为文件,由 Python 脚本执行。该数据库托管在 Snowflake 中,我使用 Snowflake SQLAlchemy连接到它。
我如何测试这些陈述?我不想执行它们,我只是想检查它们是否可执行。
一件非常基本的事情就是检查它是否是有效的标准 SQL。更好的答案是考虑雪花特定的东西,例如
copy into s3://example from table ...
最好的答案是还检查权限的东西,例如对于 SELECT
语句(如果表可见/可读)。
最佳答案
内存中的 sqlite 数据库是一种选择。但是,如果您在代码中对 Snowflake 执行原始 SQL 查询,并且相同的语法对 sqlite 无效,则您的测试可能会失败。针对测试雪花数据库记录 HTTP 请求,然后在单元测试中重放它们更适合此目的。有两个非常好的库可以做到这一点,请查看它们:
关于python - 如何为 SQL 语句创建单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57000748/