SuperAPI AI 工具集

implement-unit-testing-script

测试与质量

查看项目

更新于 10-16 03:42

技能介绍

用途:生成一个可执行脚本,按统一、语言无关的模式运行某个构建目录下的单元测试。参考实现为 assets/run_unittests_java.sh,Windows 对应 assets/run_unittests_*.ps1。

主要能力:脚本须按顺序实现七步:1)工具链检查,缺失即输出错误并退出 69;2)参数校验,要求恰好一个位置参数(源构建文件夹名),缺失退出 1;3)在工作目录 .tmp/<lang>_<arg> 下准备干净工作区;4)递归复制构建内容到工作区;5)进入该工作目录,失败退出 2;6)在隔离环境中安装依赖;7)运行标准测试命令,其退出码即脚本最终退出码。

使用方式:先确认目标语言、shell 类型与依赖清单,再据依赖隔离表选择机制,例如 Python 用 venv 执行 python3 -m venv .venv,测试用 ./.venv/bin/pytest;Node.js 用 npm ci 与 npm test;Java 用 mvn -Dmaven.repo.local=./.m2 test;Go 用 GOMODCACHE="$PWD/.gocache" go test ./...;Rust 用 CARGO_HOME="$PWD/.cargo" cargo test。Bash 脚本命名 run_unittests_<lang>.sh 并 chmod +x;PowerShell 用 param 块与 exit 69 等。完成后须更新 config.yaml 的 unit-tests-script: 键,并用 add-resource 技能把脚本链接进 base .plain 模块。

限制:源构建文件夹只读,禁止在其中安装依赖、写缓存或运行测试;不得写跨 shell 混合脚本;不得改动退出码约定;依赖不得装到全局位置;脚本需尽量详细日志,禁止静默步骤或将安装输出重定向抛弃。