Files
cmautobuy/admin/testdata

testdata

自动化测试用的脱敏小样本放这里,要提交进 Git。 否则别人拉下仓库跑 go test ./... 会失败。

蝦皮 Excel 导入测试(工单 #38)

没有提交静态的 shopee_sample.xlsx。 固件改成用 excelize 在 admin/service/shopee_import_test.go 里现造(见 buildShopeeWorkbook), 测试跑到时临时生成、测试结束自动清理。

选择现造而不是提交一个二进制文件的原因:xlsx 是二进制格式,PR 里看不出 改了什么,审查只能"信任"文件内容;现造的话,固件长什么样直接写在 测试代码里,一眼能看到覆盖了哪些场景。

覆盖的场景(对应工单 #38 的要求):

  • 商品汇总行(商品規格ID 是 -);
  • SKU 行,规格原文用**带【】**的格式,如 黑色,M【建議40-50公斤】;
  • SKU 行,规格原文用空格分隔的格式,如 卡其色拼黑色,L 建議50-57.5kg;
  • SKU 行,只有颜色和尺码、没有建议,如 黑色,M;
  • 颜色自己也带【】的格式,如 黑色 【夏裝單件T恤】,L 【57.5/70公斤】;
  • 括号不配对的脏数据(真实样本里的 21~23 行),验证 parse_ok=0 且不瞎猜;
  • 表头缺列、sheet 名不对;
  • 已有人工填的 pdd_goods_url / pdd_goods_id,验证导入不覆盖;
  • 已有 is_manual = 1 的人工新增 SKU,验证导入不删除;
  • 同一个文件导入两次,验证不产生重复行。

真实样本 raw_data/蝦皮数据样本.xlsx(需向项目负责人索取, 含商业数据,已在 .gitignore 里排除)仍然用于人工验证, 不用于自动化测试——1.9MB,每次跑测试都读一遍太慢。

相关规定见 docs/admin/06-quality-security.md §2.1。