如何使用pytest在循环中使用assert

2024-04-19 14:29:32 发布

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

我想制作一个简单的脚本来验证GCP数据集中的所有表都有一些数据。 一个数据集可以包含多个表

1)如何正确调用每个表的断言

2)我必须为每个数据集创建单独的测试函数。对吗

from google.cloud import bigquery
import pytest
CLIENT = bigquery.Client.from_service_account_json('key.json')


def count_verification(dataset):
    query = '''SELECT project_id, dataset_id, table_id, row_count
               FROM `''' + dataset + '.__TABLES__`;'
    query_job = CLIENT.query(query)
    return query_job


def test_count_verification(dataset):
    for row in count_verification(dataset):
        assert row['row_count'] != 0


def test_count_verification_1(dataset_1):
    for row in count_verification(dataset_1):
        assert row['row_count'] != 0


@pytest.fixture
def dataset():
    return 'bigquery-public-data:austin_311'


@pytest.fixture
def dataset_1():
    return 'amplified-way-272012:test_dataset'




Tags: 数据fromtestimportclientidreturnpytest