AionClaw怎么对后端修改做回归测试

陌伟酱_6757

陌伟酱_6757

2026-10-26

453人浏览

原创

必须跳过UI层、绕过Electron,直接验证Backend进程加载、ACP握手成功及CLI响应prompt,才能暴露安装链路断裂、协议版本错配、环境变量未透传三类高危问题。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

aionclaw怎么对后端修改做回归测试

要对 AionUi Hub 后端代码修改做精准回归测试,必须跳过 UI 层、绕过 Electron 环境,直接验证 Backend 进程是否能被正确加载、ACP 协议握手是否成功、真实 CLI 是否可响应 prompt——这是唯一能暴露「安装链路断裂」「协议版本错配」「环境变量未透传」三类高危问题的路径。

确认修改已生效并触发 Backend 重装

进入 AionUi 项目根目录,执行 pnpm run build:hub 重新打包 Hub 前端资源;【必须删除 dist/hub/backend 目录】,否则旧 Backend 二进制仍会被热重载加载,导致修改完全不生效。

启动本地开发服务:pnpm dev;打开浏览器访问 http://localhost:3000/hub,在扩展市场中点击任意一个 Backend(如 Claude)的「Install」按钮。

观察终端输出:若看到 [hub] installing backend: claude → [backend] onInstall triggered → [acp] handshake success 三段连续日志,则说明 Backend 已按新代码逻辑完成安装与握手。

运行 Integration Test 验证主进程链路

该测试不依赖浏览器,纯 Node.js 环境下模拟完整安装流程,覆盖从 index 加载、解压、onInstall 执行到 ACP 握手成功的全链路。

执行命令:vitest run tests/integration/hub-install-flow.test.ts。

若测试失败,重点检查 tests/integration/fixtures/backend-claude 目录下的 mock 文件是否与你修改后的 Backend 实际行为一致——例如你新增了 config.json 校验逻辑,但 fixture 中未提供该文件,测试必然报错。

用真实 CLI 执行 Smoke Test 验证 ACP 兼容性

这一步不可跳过:Integration Test 只校验流程通路,Smoke Test 才真正调用你本地已安装的 CLI 二进制,发送真实 prompt 并等待结构化响应。

方法一:使用预置脚本

确保你的 Backend CLI 已全局可执行(如 claude --version 能返回版本号);运行:pnpm test:smoke -- --backend claude。

方法二:手动构造 ACP 请求

AionClaw
AionClaw

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

下载

启动 Backend CLI 并监听 ACP 端口:claude --acp-port 8081;另起终端,用 curl 发送最小 handshake 请求:curl -X POST http://localhost:8081/v1/health;收到 {"status":"ok"} 表示协议层就绪。

接着发送测试 prompt:curl -X POST http://localhost:8081/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"hello"}]}';响应中必须包含 "choices" 字段且 status=200,才算通过 Smoke Test。

【注意:测试前必须清除 ~/.aionui/backend-cache/claude 目录】,否则会复用旧缓存的 handshake 结果,掩盖协议变更引发的兼容性断裂。

定位修改影响范围并精简回归集

第一步:运行代码影响分析工具

执行:npx @aionui/codegraph affected --since=HEAD~1,输出所有被本次提交修改直接影响的 Backend 模块路径。

第二步:生成最小回归测试集

根据上一步结果,筛选出对应 Backend 的 Integration Test 文件(如 tests/integration/acp-smoke-claude.test.ts)和 Smoke Test 配置(test/smoke/configs/claude.json)。

第三步:只运行受影响模块

执行:vitest run $(cat ./affected-tests.txt | tr '\n' ' '),其中 affected-tests.txt 是上一步生成的测试文件列表。

这一步跳过未修改的 Backend 测试,将回归耗时从 4.2 分钟压缩至平均 37 秒,且不牺牲关键路径覆盖率。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2643

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6750

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6186

10

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2643

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6750

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6186

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

60

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

40

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Claude Code 快速上手核心指南
Claude Code 快速上手核心指南

共0课时 | 0人学习

Claude Code 官方文档
Claude Code 官方文档

共0课时 | 0人学习

Claude Code 官方中文文档
Claude Code 官方中文文档

共0课时 | 0人学习