如何在Python 3.7中为BigQuery的Google客户端库编写单元测试?

时间:2019-12-09 22:14:51

标签: unit-testing google-bigquery google-cloud-storage google-client

我正在使用Google客户端库进行BigQuery和存储。

下面是我使用查询结果在BigQuery中创建表的功能。

def create_bq_table():
    client = bigquery.Client()
    job_config = bigquery.QueryJobConfig(destination="dashboard_filter")
    sql = """
    SELECT *
    FROM `my-rep.my_table.all_filters`
    """
    query_job = client.query(sql, job_config=job_config)
    query_job.result() 

现在,我必须通过模拟Google客户端库为此编写单元测试。但是我不确定该怎么做。有人可以让我知道如何进行吗?

1 个答案:

答案 0 :(得分:0)

我看到您正在使用 Python。不知道您是否最终完成了单元测试,但如果没有,我建议 bq-test-kit。此框架允许您在 Python 中与 BigQuery 交互并使测试可靠。

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

  • 创建具有独立名称的数据集和表,从而拥有自己的命名空间
  • 依赖临时表,其中数据插入数据文字
  • 数据文字合并到您的查询中

希望这会有所帮助。