关于 JAIPilot
JAIPilot 是面向 Java 开发者的测试生成与维护 CLI,也可接入编码 Agent。它能生成、修复和验证测试,并在代码修改前后建立行为基线。
主要功能
- 01生成 Java 单元测试
- 02提升代码覆盖率
- 03修复失败测试并稳定易变测试
- 04运行当前改动的测试
- 05重构前锁定行为基线
- 06验证测试及覆盖率报告
适用场景
- 01为 Java 类生成测试
- 02为选定代码提升覆盖率
- 03修复构建中的失败测试
- 04重构前记录现有行为并回归验证
MCP 相关
可选 MCP 模式可让 Codex、Claude Code 等 Agent 调用 JAIPilot。测试和命令在本地运行,用于建立行为基线并验证 Agent 的代码修改。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.jaipilot.com/functions/v1/jaipilot/mcpclaude mcp add --transport http jaipilot-jaipilot https://api.jaipilot.com/functions/v1/jaipilot/mcp{"mcpServers":{"jaipilot-jaipilot":{"type":"http","url":"https://api.jaipilot.com/functions/v1/jaipilot/mcp"}}}在 Cursor 中打开{"servers":{"jaipilot-jaipilot":{"type":"http","url":"https://api.jaipilot.com/functions/v1/jaipilot/mcp"}}}在 VS Code 中打开{"mcpServers":{"jaipilot-jaipilot":{"type":"http","url":"https://api.jaipilot.com/functions/v1/jaipilot/mcp"}}}{"mcpServers":{"jaipilot-jaipilot":{"serverUrl":"https://api.jaipilot.com/functions/v1/jaipilot/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
JAIPilot — 更快的 Java 测试、更高的覆盖率、更少的缺陷
让测试坚不可摧。
测试速度提升约 5 倍。
企业级单元测试。目标行覆盖率达到 90%+。
你的 Java 测试专家,直接在终端中为你服务。 生成、修复并验证测试。减少提示词,强化断言。
以结果为导向。选择目标,选中代码,获取经过验证的测试。 从 CLI 开始使用。想在编码 Agent 中使用 JAIPilot 时,再添加 MCP。
下载 CLI · 开始使用 · MCP 配置 · JAIPilot.com
看看它的运行效果
Apache Kafka
在 1 分 53 秒内,将两个类的行覆盖率从 34.3% 提升至 97.1%。 新增 13 项测试;模块中的 949 项测试全部通过。
Spring Petclinic — 100% 覆盖率
在 3 分 21 秒内,将整个项目的行覆盖率从 85.7% 提升至 100%。 通过 coverage_100 新增 36 项测试;111 项测试全部通过。
保留生产代码。录屏均为实际操作;GIF 会缩短空闲等待时间。所报告的时间为完整任务耗时,使用了预热的构建缓存;结果可能有所不同。命令、录屏和完整测量数据 →
工作原理
前沿大模型推理能力。经过优化的测试工具。针对不同目标定制的提示词。托管服务中的并行工作进程。 独立的类任务可以并发运行;本地执行使用你的工具链和受支持的硬件并行能力。
- 检查你的代码、构建配置和测试框架。
- 生成或修复测试,覆盖行为、边界和失败路径,并提供有意义的断言。
- 验证测试:运行针对性测试、最终回归测试套件,并在配置后生成新的覆盖率报告。
generate_tests、improve_coverage 和 lock_behavior 的目标行覆盖率为 90%+,在配置覆盖率后针对所选生产代码进行测量。系统会报告覆盖缺口和阻碍因素。编辑前必须先通过行为基线测试。
| 目标 | 工作流 |
|---|---|
| 生成单元测试 | generate_tests |
| 提升覆盖率 | improve_coverage |
| 修复失败的测试 | fix_tests |
| 稳定不稳定的测试 | stabilize_flaky_tests |
| 测试当前更改 | test_current_changes |
| 重构前锁定行为 | lock_behavior |
| 目标行覆盖率达到 100% | coverage_100 |
安装
需要 Git、JDK 和项目所用的构建工具。
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/JAIPilot/jaipilot/main/install.sh | sh
Windows(PowerShell)
irm https://github.com/JAIPilot/jaipilot/releases/latest/download/install.ps1 | iex
npm
npm install -g jaipilot
Homebrew(macOS / Linux)
brew install JAIPilot/tap/jaipilot
登录后,在你的 Java 仓库中运行:
jaipilot auth login
jaipilot run improve_coverage --class com.acme.OrderService
使用同一个 JAIPilot 账户、订阅和额度。工作流运行前会自动检查更新。
使用 CLI
jaipilot run generate_tests --class com.acme.OrderService
jaipilot run test_current_changes --all
jaipilot run lock_behavior --path src/main/java/com/acme
范围可选整个仓库、类、路径或选定行。接受更改前,请检查结果和 git diff。
若要在单模块 Maven 项目中获取全新的、经过验证的覆盖率目标:
jaipilot run improve_coverage --all --coverage-target 80
Maven 适配器还支持本地覆盖率检查和测试生成:
./mvnw com.jaipilot:jaipilot-maven-plugin:1.2.1:check -Djaipilot.coverage.line=80
./mvnw com.jaipilot:jaipilot-maven-plugin:1.2.1:run -Djaipilot.coverage.line=80
Maven 适配器 1.2.1 已发布到 Maven Central。在 Windows
PowerShell 中使用 mvnw.cmd。适配器配置、类/分支目标及支持的 JaCoCo 规则 →
如果我的编码 Agent 已经会编写测试,为什么还要使用 JAIPilot?
测试速度更快。覆盖率更高。测试更强。编码 Agent 的工作量更少。
- 测试速度比通用编码 Agent 快约 5 倍。 优化后的提示词、工具和并行工作进程负责整个测试工作流。实际运行时间因项目而异。CLI 示例:Kafka 达到 97.1% 覆盖率,用时 1m 53s;Petclinic 达到 100%,用时 3m 21s。
- 行覆盖率目标为 90% 以上。 针对所选行为、边界和失败路径编写有意义的断言,并使用你配置的覆盖率工具进行测量。
- 回归保护更强。 编辑前锁定行为;之后验证原始测试。我们配对的 Codex 示例中,保存的测试捕获了 10 个注入故障中的 7 个,而 Codex 单独使用时为 3 个。
- 节省 Token。 将测试规划、生成和修复交给 JAIPilot 的优化服务处理。这可以减少编码 Agent 的测试上下文、Token 用量和成本;可使用 JAIPilot 额度。
实测示例:Codex 搭配 JAIPilot
同一次重构。两个全新的 Codex 会话。两个 Kafka 工具类。MCP 会话自动使用 JAIPilot,无需仓库指令文件或额外的测试提示词。
| 保存的回归测试套件 | Codex 单独使用 | Codex + JAIPilot |
|---|---|---|
| 通过的 JUnit 测试 | 3 | 16 |
所选 Deadline 类的行覆盖率 | 47.1% | 100% |
| 两个 fixture 类的行覆盖率 | 40% | 65.7% |
| 两个 fixture 类的分支覆盖率 | 30% | 80% |
| 保存的测试捕获的注入故障 | 3/10 | 7/10 |
多出 13 个可复用测试。多捕获 4 个刻意引入的错误。 使用相同的模型、设置、初始测试和预热构建缓存。这只是一个配对示例,结果可能有所不同。
90% 的目标适用于所选代码。 Deadline:100%(17/17 行)。合并后的 65.7%(23/35) 包含未作为目标的 LockUtils,其覆盖行数保持在 6/18。
面向编码 Agent 的 MCP
可选:让 Codex、Claude Code 或其他 MCP Agent 更擅长 Java 测试。 在编辑前为其提供经过测试的基线,并用真实失败指导修复。
- 锁定:
lock_behavior会在修改生产代码前创建并运行特征测试;配置后以 90% 以上的行覆盖率为目标。 - 编辑: 你的编码 Agent 修改生产代码。基线测试保持不变。
- 验证:
verify_behavior重新运行原始基线。你的 Agent 会调查失败,并在完成前修复意外变更。
通过的测试只保护其实际覆盖的行为。对于有意进行的行为变更,请检查旧的预期结果。
Codex
codex mcp add jaipilot -- jaipilot mcp --repo /absolute/path/to/java-repository
Claude Code
claude mcp add --transport stdio jaipilot -- jaipilot mcp --repo /absolute/path/to/java-repository
启动新的 Agent 会话。MCP 指令和工具描述中包含此工作流。无需仓库指令文件。 测试和命令在本地运行。作业在后台运行;每条本地命令默认限时 1 小时。
需要包含 mcp 命令的构建版本。源代码设置、工具约定和超时选项 →
本地执行与隐私
构建和测试在本地运行。所选源代码、项目上下文和命令输出会发送到 JAIPilot 托管服务及模型提供商。登录凭据保留在本地,并仅授予用户权限。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。