Test Gen 是一款 AI 驱动的单元测试生成工具,旨在帮助开发者从源代码文件快速生成单元测试。它属于 LXGIC Dev Toolkit 系列,该系列包含 110 多个免费开发者工具。
用途
Test Gen 用于从源代码文件生成单元测试,适用于需要添加测试覆盖率的场景。当代码测试覆盖率较低、需要快速补充测试时,该工具可以自动生成测试用例。
主要能力
- 为函数和类生成单元测试
- 覆盖正常路径(happy path)、边界情况和错误条件
- 支持为 Jest、Vitest 或 Mocha 创建测试
- 自动模拟依赖
- 包含有意义的断言,而非仅生成形式化的断言
使用方式
该工具无需安装,通过 npx 直接运行,建议使用 Node.js 18 及以上版本。
快速开始:
npx ai-test-gen ./src/utils.ts
使用示例:
# 为单个文件生成测试
npx ai-test-gen ./src/auth.ts
# 为目录中所有文件生成测试
npx ai-test-gen ./src/services/
# 指定测试框架
npx ai-test-gen ./src/utils.ts --framework vitest
# 输出到指定位置
npx ai-test-gen ./src/parser.ts --output ./tests/parser.test.ts
查看帮助:
npx ai-test-gen --help
工作原理
该工具解析源文件,识别可测试的单元(函数、类、方法),分析其签名和实现,然后生成覆盖正常操作、边界情况和错误处理的测试用例。
适用场景
- 接手没有测试的代码库
- 快速为新功能添加测试
- 满足 CI 的覆盖率目标
- 学习针对自己代码的良好测试应该是什么样
最佳实践
- 审查生成的测试——AI 生成的测试是起点,不是终点
- 立即运行它们——在上下文还新鲜时发现问题
- 添加自己的边界用例——你比 AI 更了解自己的领域
- 不要只信任覆盖率——好的测试测试行为,而不是代码行数
限制
资料中未提供关于该工具的具体限制说明。工具生成的测试需要人工审查和补充,不应直接视为最终测试。
许可证与要求
- 许可证:MIT,永久免费,可随意使用
- 要求:无需安装,直接使用 npx 运行,建议 Node.js 18+
开发者信息
由 LXGIC Studios 构建。
- GitHub: https://github.com/LXGIC-Studios
- Twitter: https://x.com/lxgicstudios
- Substack: https://lxgicstudios.substack.com
- 网站: https://lxgicstudios.com
- 项目 GitHub: github.com/lxgicstudios/test-gen