tianyu.chu a437262176 refactor(udf): 合并通用 UDF 并补单测 2 недель назад
..
integration 6936460ac3 chore: 新增 io/ops/pm/dq/sync/tests 占位骨架;删 bin/excel_to_hive.py;publish.sh 挪入 bin 2 недель назад
unit a437262176 refactor(udf): 合并通用 UDF 并补单测 2 недель назад
README.md 6936460ac3 chore: 新增 io/ops/pm/dq/sync/tests 占位骨架;删 bin/excel_to_hive.py;publish.sh 挪入 bin 2 недель назад

README.md

tests — 测试体系

职责

dw_base/ 下的代码(尤其是 UDF、utils、io、dq、pm 等模块)做自动化测试,保证重构与新开发不回退。

目录

  • unit/ —— 单元测试。无外部依赖(不连真实 Spark 集群 / DB),Spark 相关用本地 SparkSession 或 mock
  • integration/ —— 集成测试。连真实 Spark / MySQL / HDFS,验证端到端链路
  • conftest.py(后续加)—— pytest fixtures:fake_sparktmp_hdfssample_df

入口

pytest tests/unit / pytest tests/integration。CI 只跑 unit(集成测试手动触发)。

首批目标

  1. tests/unit/udf/test_spark_common_udf.py —— 对 dw_base/udf/common/spark_common_udf.py 40 个函数的单测(本地 SparkSession,小样本 DataFrame)
  2. tests/unit/utils/ —— 对 dw_base/utils/* 的纯函数单测
  3. tests/unit/datax/ —— dw_base/datax/job_config_generator.py 配置生成单测

依赖

  • pytest待加入 requirements.txt
  • pyspark==2.4.0(已在 requirements.txt,findspark 运行时定位 CDH 集群,同版本双轨)
  • 对 UDF 单测:本地 SparkSession 即可跑,不需要集群

状态

骨架(未启动)。本批仅建目录 + 本 README。

kb/90-重构路线.md 聚簇 D + §6。