name: test description: 为您的Starlake项目运行集成测试
测试技能
为您的Starlake项目运行集成测试。测试通过比较实际结果与存储在metadata/tests/中的预期数据文件来验证加载和转换任务是否产生预期输出。
用法
starlake test [options]
选项
--load: 仅测试加载任务--transform: 仅测试转换任务--domain <value>: 仅测试此域--table <value>: 在选定域中仅测试此表/任务--test <value>: 仅运行此特定测试用例--site: 生成测试结果网站--outputDir <value>: 测试结果的输出目录--accessToken <value>: 身份验证访问令牌(例如GCP)--reportFormat <value>: 报告输出格式:console、json或html
测试目录结构
测试组织在metadata/tests/中:
metadata/tests/
├── load/
│ └── {domain}/
│ └── {table}/
│ └── {test_name}/
│ ├── _expected.csv # 预期输出数据
│ ├── _expected.json # 或JSON格式
│ └── _incoming.{file} # 输入测试数据
└── transform/
└── {domain}/
└── {task}/
└── {test_name}/
├── _expected.csv # 预期输出
└── {source_table}.csv # 源表数据
加载测试示例
metadata/tests/load/starbake/orders/test1/
├── _expected.csv # 预期加载数据
└── _incoming.orders_20240301.json # 要加载的输入文件
转换测试示例
metadata/tests/transform/kpi/revenue_summary/test1/
├── _expected.csv # 预期转换输出
├── starbake.orders.csv # 模拟源:订单表
└── starbake.order_lines.csv # 模拟源:订单行表
示例
运行所有测试
starlake test
仅运行加载测试
starlake test --load
仅运行转换测试
starlake test --transform
运行特定域的测试
starlake test --domain starbake
运行特定表的测试
starlake test --domain starbake --table orders
运行特定测试用例
starlake test --domain starbake --table orders --test test1
生成测试结果网站
starlake test --site --outputDir /tmp/test-results