小编Haf*_*man的帖子

Python 单元测试 Google Bigquery

我在对以下代码块进行单元测试时遇到问题:

from google.cloud import bigquery
from google.oauth2 import service_account

def run_query(query, gcp_ser_acc):
    credentials = 
    service_account.Credentials.from_service_account_info(gcp_ser_acc)
    client = bigquery.Client(gcp_ser_acc['project_id'], credentials)
    query_job = client.query(query)
    results = query_job.result()
    return results
Run Code Online (Sandbox Code Playgroud)

我是嘲笑的新手,我尝试了以下测试:

def test_run_a_query_with_real_key(self):
    gcp_ser_acc = {
                'project_id': 'my_project_id',
                'private_key': 'my_private_key',
                'token_uri': 'my_token_uri',
                'client_email': 'my_client_email'
                }
    with mock.patch('service_account.Credentials', call_args=gcp_ser_acc, return_value={}):
        with mock.patch('bigquery.Client', call_args=(gcp_ser_acc['project_id'], {}), return_value={}):
            run_query('SELECT 1+1 as col', gcp_ser_acc)
            assert service_account.Credentials.called
            assert bigquery.Client.called
Run Code Online (Sandbox Code Playgroud)

有人可以嘲笑谷歌的东西并编写单元测试吗?

python unit-testing google-bigquery

6
推荐指数
1
解决办法
4042
查看次数

标签 统计

google-bigquery ×1

python ×1

unit-testing ×1