测试技能Skill test

这个技能是Starlake项目中的集成测试工具,用于自动化验证数据加载和转换任务的准确性,通过比较实际输出与预期数据文件,支持多种测试选项和报告格式。关键词:Starlake测试, 数据集成测试, ETL验证, 自动化测试, 软件测试工具

测试 0 次安装 0 次浏览 更新于 3/15/2026

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>: 报告输出格式:consolejsonhtml

测试目录结构

测试组织在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

相关技能

  • load - 加载数据(通过加载测试验证)
  • transform - 运行转换(通过转换测试验证)
  • validate - 验证项目配置