SuperAPI AI 工具集

modernize-test-starter

测试与质量

查看项目

更新于 10-15 23:41

技能介绍

用途:将 UI5 项目的整套测试基础设施(单元测试与 OPA5 集成测试)现代化为 Test Starter 概念,用单一通用测试页加声明式 testsuite.qunit.js 配置取代逐测试的 HTML 引导,消除样板、自动处理 QUnit/Sinon/覆盖率与 CSP 合规,并支持按测试隔离和并行执行。

主要能力:检测并分类现有测试结构(单元测试、无 OPA、Pattern A“单 HTML + AllJourneys”、Pattern B“多个独立 HTML”);通过脚本 parse-testsuite.js 解析套件、检测启动方式与 FLP 沙箱、扫描引导覆盖;创建 testsuite.qunit.js 与 Test.qunit.html;将真实测试文件重命名为 .qunit.js 并转为 sap.ui.define;删除冗余聚合器与旧 HTML;把 OPA 迁移为 OpaSetup.js 加各 journey;当 needsIframeMigration 为真时执行 in-window 到裸 Component iframe 的迁移;最后校验条目数、悬空条目与 linter。

使用方式:需先读取 manifest.json 的 sap.app/id 得到命名空间(含点与斜杠两种形式);用 node 运行技能自带脚本,例如 node <skill-dir>/scripts/parse-testsuite.js --detect-launcher webapp/test 与 --scan-bootstrap-overrides;testsuite 的 page 必须使用 ui5:// 前缀并包含 {suite} 与 {name} 占位符;依赖路径中 .qunit 后缀不可省略;webapp/test 下的依赖使用 test-resources/<NAMESPACE>/ 前缀;OpaSetup.js 不得引入 sap/ui/test/opaQunit;副作用导入放在依赖数组末尾。

适用场景:UI5 项目在 linter 报告 prefer-test-starter 时;存在大量 OPA5 测试 HTML 需要批量转换时;需要统一 QUnit/Sinon/覆盖率配置或满足 CSP 要求时。

限制:Pattern U 与 Pattern B 组合不受支持,检测到 mixed 启动方式或该组合时应停止并交由开发者处理;Test Driver(opa/<Area>/<TestName>.qunit.html)可转换,Test Host(test<ServiceName>.html)保持原样,Dev Sandbox(flpSandbox.html)忽略;引导覆盖只做记录不改写;部分 iframe 迁移项需按项目检测结果机械应用。具体定价与平台支持信息暂未提供。