首页 > 解决方案 > 如何使用 pytest 在循环中使用断言

问题描述

我想制作一个简单的脚本来验证 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'



标签: pythonpytest

解决方案


推荐阅读