开始使用免费开始使用

使用 pytest 编写单元测试

在本练习中,您将练习编写单元测试来验证数据管道。您将使用 assert 和其他工具来构建测试,并判断数据管道是否按预期运行。

函数 extract()transform() 以及已导入为 pdpandas 已为您准备好。您将测试下面展示的 transform() 函数。

def transform(raw_data):
    raw_data["average_taxable_income"] = raw_data["total_taxable_income"] / raw_data["number_of_firms"]
    clean_data = raw_data.loc[raw_data["average_taxable_income"] > 100, :]
    clean_data.set_index("industry_name", inplace=True)
    return clean_data

本练习是课程的一部分

使用 Python 的 ETL 和 ELT

查看课程

练习说明

  • 导入 pytest 库。
  • 断言变量 clean_tax_data 中存储的值是 pd.DataFrame 的实例。
  • 验证 clean_tax_data DataFrame 的列数大于 raw_tax_data DataFrame 中存储的列数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

import ____

def test_transformed_data():
    raw_tax_data = extract("raw_tax_data.csv")
    clean_tax_data = transform(raw_tax_data)
    
    # Assert that the transform function returns a pd.DataFrame
    assert ____(clean_tax_data, pd.DataFrame)
    
    # Assert that the clean_tax_data DataFrame has more columns than the raw_tax_data DataFrame
    ____ len(clean_tax_data.columns) ____ len(raw_tax_data.columns)
编辑并运行代码