Tạo bài kiểm thử đơn lẻ

dbt trung cấp

Mike Metzger

Data Engineer

Kiểm thử đơn lẻ là gì?

  • Kiểm thử dữ liệu tùy chỉnh
  • Viết dưới dạng truy vấn SQL
    • Phải trả về các dòng không đạt
  • Định nghĩa dưới dạng tệp .sql trong thư mục tests

Ảnh kiểm thử

1 Ảnh của Antoine Dautry trên Unsplash
dbt trung cấp

Ví dụ kiểm thử đơn lẻ

  • Tạo kiểm thử để xác minh:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Lưu ý: ta muốn các dòng KHÔNG đạt. Nếu có dòng trả về, kiểm thử thất bại.
  • Lưu tệp là assert_order_total_gte_subtotal.sql

Sơ đồ lược đồ bảng order

dbt trung cấp

Kiểm thử đơn lẻ với Jinja

  • Có thể dùng Jinja trong kiểm thử
    • Hàm ref
    • Khác nếu phù hợp
  • dbt thay thế đầu ra khi chạy kiểm thử
    • Chạy lại project nếu hồ sơ dbt thay đổi
select *
from {{ ref('order') }}
where order_total < subtotal
dbt trung cấp

Gỡ lỗi kiểm thử

  • Dùng trình soạn SQL để tạo truy vấn kiểm thử ban đầu
  • Đặt truy vấn vào tệp phù hợp
  • Đặt tên kiểm thử duy nhất
  • Dùng tùy chọn dbt test --select <testname>
  • Kiểm tra lỗi và cập nhật tương ứng
dbt trung cấp

Ayo berlatih!

dbt trung cấp

Preparing Video For Download...