SuperAPI AI 工具集

test-data

数据与分析

查看项目

更新于 10-16 09:49

技能介绍

用途:为 Playwright + TypeScript 测试提供测试数据该放在哪里、如何清理、如何避免并行冲突的规则。

决策框架:简单记录(1–2 字段、无关联)在测试内创建并用 finally 清理;复杂记录(多关联、前置条件)预置在测试数据库项目中,测试按稳定描述引用;只读校验用既有预置数据,无需清理;特定数据状态(如已关闭工单、停用用户)在测试前通过 API 或 SQL 播种,测试后清理。原则是设置越复杂越应移出测试体。

清理模式:修改数据的测试须清理,用 try/finally 而非 try/catch,因为 catch 会吞掉错误并可能跳过清理。仅在数据修改动作成功后设 cleanupNeeded = true,避免删除不存在的记录;清理步骤名固定为 "Cleanup"。只读测试不写清理块,也不加空清理步骤;删除类测试自身即清理,无需额外清理。清理内部可防御性 try/catch,不重新抛出,保留原始失败。

并行安全:同文件测试串行,跨文件并行,需用随机标识避免冲突。可用 common.randomBoolean()、randomNumber(length?)、randomElement()、getRandomNumberByLength(length)、getDateNDaysFromNow(days, culture?) 等;推荐使用 newDescription 夹具获得每测试唯一随机串;BasePage 也提供 getRandomEmail()、getRandomString(10)、coinFlip()。

反模式:硬编码记录 ID 或日期、测试体内冗长设置链、模块级共享可变状态、用 try/catch 代替 try/finally、会令测试失败的清理。权限测试可通过 API seeding(如 beforeEach 中 executeLocalProcedure 创建用户组并关联用户)替代 UI 配置。更多参考文档将依团队反馈补充。