🤖 基于智谱AI的VSCode单元测试自动生成插件
功能特性
- ✅ Git集成: 自动提取当前分支的提交文件
- 🤖 AI驱动: 使用智谱AI大语言模型生成高质量单元测试
- 🎨 可视化面板: 友好的UI界面,支持实时预览和编辑测试代码
- 🔄 模型切换: 支持切换多种智谱AI模型(GLM-4系列)
- 📝 代码编辑: 生成后可直接在面板中修改测试代码
- ▶️ 一键执行: 自动保存并执行测试,生成测试报告
- 🌍 多语言支持: 支持TypeScript、JavaScript、Vue等多种语言
安装
前置要求
- VSCode 1.80.0 或更高版本
- Node.js 18.x 或更高版本
- Yarn 包管理器
安装步骤
- 克隆或下载此项目
- 在项目目录下运行:
yarn install
- 编译项目:
yarn compile
- 按 F5 启动调试模式,或打包为 .vsix 文件安装
使用方法
1. 打开测试生成面板
- 使用命令面板 (Cmd+Shift+P / Ctrl+Shift+P)
- 输入 "打开测试生成面板"
- 或使用命令:
ABC Test Gen: 打开测试生成面板
2. 配置API密钥
在面板中输入你的智谱AI API密钥。默认已配置密钥:
3ca0c26961e14171af689b3747dba56c.UN2qfLCQzqP1Hozz
3. 选择模型
从下拉菜单中选择要使用的智谱AI模型:
- GLM-4-Plus: 最强大的模型,适合复杂任务
- GLM-4-0520: 平衡性能和速度
- GLM-4-Air: 轻量级模型,响应快速
- GLM-4-AirX: 超快速响应
- GLM-4-Flash: 极速模型,适合简单任务(推荐)
4. 加载Git文件
- 点击 "刷新分支信息" 查看当前分支
- 点击 "加载最新提交文件" 获取最新提交的文件列表
- 勾选需要生成测试的文件
5. 生成测试
- 点击 "🚀 生成测试" 按钮
- 等待AI生成测试代码(会显示进度)
- 在结果区域查看和编辑生成的测试代码
6. 保存和执行
- 保存单个测试: 点击每个测试结果下的 "💾 保存此测试"
- 保存所有测试: 点击 "💾 保存所有测试"
- 执行测试: 点击 "▶️ 执行测试" 自动运行测试并生成报告
配置选项
在VSCode设置中可以配置:
{
"abc-tools-test-gen.zhipuApiKey": "your-api-key",
"abc-tools-test-gen.defaultModel": "glm-4-flash"
}
支持的文件类型
- TypeScript (
.ts, .tsx)
- JavaScript (
.js, .jsx)
- Vue (
.vue)
- Python (
.py)
- Java (
.java)
- Go (
.go)
- Ruby (
.rb)
- PHP (
.php)
测试文件命名规则
- TypeScript/JavaScript:
filename.test.ts / filename.test.js
- Vue:
filename.spec.ts
- Python:
filename_test.py
- Java:
filenameTest.java
项目结构
abc-tools-test-gen/
├── src/
│ ├── extension.ts # 扩展入口
│ ├── types/
│ │ └── index.ts # 类型定义
│ ├── services/
│ │ ├── gitService.ts # Git服务
│ │ ├── zhipuService.ts # 智谱AI服务
│ │ └── testService.ts # 测试生成服务
│ └── views/
│ └── testPanel.ts # 可视化面板
├── package.json
├── tsconfig.json
└── README.md
开发
编译
yarn compile
监听模式
yarn watch
调试
按 F5 启动扩展开发主机进行调试
打包和发布
打包成VSIX文件
# 方式1: 使用脚本
chmod +x scripts/package.sh
./scripts/package.sh
# 方式2: 使用yarn命令
yarn build:all
# 方式3: 分步执行
yarn clean # 清理旧文件
yarn compile # 编译项目
yarn package # 打包成vsix
生成文件: abc-tools-test-gen-0.0.1.vsix
安装VSIX文件
# VSCode界面安装
# 扩展面板 → ... → 从VSIX安装 → 选择.vsix文件
# 命令行安装
code --install-extension abc-tools-test-gen-0.0.1.vsix
详细说明请查看 PACKAGE.md
常见问题
Q: API调用失败?
A: 请检查:
- API密钥是否正确
- 网络连接是否正常
- 智谱AI服务是否可用
Q: 生成的测试代码不符合预期?
A: 可以:
- 尝试切换到更强大的模型(如GLM-4-Plus)
- 在面板中直接编辑测试代码
- 确保源代码结构清晰,有适当的注释
Q: 测试执行失败?
A: 请确保:
- 项目已安装测试框架(如Jest)
- package.json中配置了test脚本
- 测试文件路径正确
技术栈
- VSCode Extension API: 扩展开发
- TypeScript: 主要开发语言
- Simple-git: Git操作
- Axios: HTTP请求
- 智谱AI API: AI模型服务
许可证
MIT
贡献
欢迎提交Issue和Pull Request!
更新日志
0.0.1 (2024-11-17)
- 🎉 初始版本发布
- ✅ 支持Git集成
- ✅ 支持智谱AI多模型
- ✅ 可视化面板
- ✅ 测试生成和执行
联系方式
如有问题或建议,请提交Issue。
| |