插件测试
OpenClaw 插件的测试工具、模式和 Lint 执行参考。测试工具
导入:openclaw/plugin-sdk/testing
测试子路径导出了一组有限的辅助工具,供插件作者使用:
可用的导出
| 导出 | 用途 |
|---|---|
installCommonResolveTargetErrorCases | 用于目标解析错误处理的共享测试用例 |
shouldAckReaction | 检查渠道是否应添加确认反应 |
removeAckReactionAfterReply | 在回复传递后移除确认反应 |
类型
测试子路径还重新导出了测试文件中有用的类型:测试目标解析
使用installCommonResolveTargetErrorCases 为渠道目标解析添加标准错误用例:
测试模式
渠道插件的单元测试
提供商插件的单元测试
模拟插件运行时
对于使用createPluginRuntimeStore 的代码,请在测试中模拟运行时:
使用每个实例的存根进行测试
优先使用每个实例的存根,而不是原型修改:合约测试(仓库内插件)
捆绑插件具有验证注册所有权的合约测试:- 哪些插件注册了哪些提供商
- 哪些插件注册了哪些语音提供商
- 注册形状的正确性
- 运行时合约合规性
运行范围限定测试
对于特定插件:Lint 执行(仓库内插件)
对于仓库内插件,pnpm check 强制执行三条规则:
- 禁止单体根导入 — 拒绝
openclaw/plugin-sdk根桶 - 禁止直接导入
src/— 插件无法直接导入../../src/ - 禁止自导入 — 插件无法导入自己的
plugin-sdk/<name>子路径
测试配置
OpenClaw 使用 Vitest 和 V8 覆盖率阈值。对于插件测试:相关内容
本页面源自 openclaw/openclaw,由 BeaversLab 翻译,遵循 MIT 协议 发布。