如何使用 google cloud bigquery 进行集成测试

How can I make integration tests with google cloud bigquery

我们正在从 apache hbase 迁移到 bigquery。

目前我们有端到端测试(使用黄瓜)与 docker 容器 运行 hbase 一起工作。

似乎没有任何 bigquery docker 容器或模拟器 (https://cloud.google.com/sdk/gcloud/reference/beta/emulators/)

我们如何才能为使用 bigquery 的应用程序创建端到端测试?

目前没有任何类型的 BigQuery 本地模拟器或类似的东西。正如您分享的关于 available GCP emulators 的 link 所指出的,还有一些其他产品具有这样的功能,但 BigQuery 没有的原因可能是它的真正潜力只有在工作时才能看到在其真正的基础架构中,加上使用 BigQuery 的成本可能相对较低,具体取决于您对它的使用情况,而且您有一个免费套餐可以开始使用。

让我总结一些可能对您有用的有关 BigQuery 定价的信息:

无论如何,如果您仍然认为直接使用 BigQuery 不是您的最佳选择,可以随时通过在 Public Issue Tracker 中为 BigQuery 创建功能请求将您的请求转发给工程团队,尽管是否(以及何时)实施此类功能将由工程团队决定,但更多的是考虑到 BigQuery 的复杂性以及其性能针对在当前架构中的工作进行了优化。

这是一个旧的 post 但如果您可以使用 Python 并且您计划测试您的 SQL 并根据输入断言您的结果,我建议 bq-test-kit.此框架允许您在 Python 中与 BigQuery 交互并使测试可靠。

您有 3 种方法可以将数据注入其中:

  • 创建能够隔离其名称并因此拥有自己的命名空间的数据集和表
  • 依赖临时表,其中数据是用数据文字插入的
  • 数据文字合并到您的查询中

希望对您有所帮助。