Viết unit test với pytest
Trong bài tập này, bạn sẽ luyện viết một unit test để kiểm định một data pipeline. Bạn sẽ dùng assert và các công cụ khác để xây dựng các bài kiểm thử, và xác định liệu data pipeline có hoạt động đúng như mong đợi hay không.
Các hàm extract() và transform() đã được cung cấp sẵn cho bạn, cùng với pandas đã được import là pd. Bạn sẽ kiểm thử hàm transform(), được hiển thị bên dưới.
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
Bài tập này là một phần của khóa học
ETL và ELT với Python
Hướng dẫn bài tập
- Import thư viện
pytest. - Khẳng định rằng giá trị lưu trong biến
clean_tax_datalà một instance củapd.DataFrame. - Xác nhận rằng số lượng cột trong DataFrame
clean_tax_datalớn hơn số lượng cột trong DataFrameraw_tax_data.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)