关于 testing
testing 技能帮助 OpenClaw 支持单元、集成和端到端测试,涵盖 TDD、BDD、覆盖率分析、测试命名及执行工作流。
主要功能
- 01通过 TDD 生成单元测试
- 02根据 Gherkin 创建 BDD 步骤定义
- 03建议测试金字塔比例
- 04设置覆盖率阈值并查找缺口
- 05通过 Jest、Pytest 或 Selenium 运行测试
适用场景
- 01实现功能时补充测试
- 02为用户故事生成步骤定义
- 03重构期间检查覆盖率
- 04在 CI/CD 流水线中运行测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill testing安装后在 Claude Code 中输入/testing确认已加载。
详细介绍
testing
用途
此技能可让 OpenClaw 协助制定全面的测试策略,包括测试金字塔(单元测试、集成测试、端到端测试)、TDD/BDD 方法、代码覆盖率分析和命名约定,以确保代码质量。它专注于将测试融入开发工作流,打造稳健的软件。
适用场景
在编写或审查需要测试驱动开发的代码时使用此技能,例如在项目中实现新功能、调试故障或确保达到覆盖率阈值。可应用于敏捷迭代、CI/CD 流水线,或重构代码以保持质量等场景。
主要功能
- 使用 TDD 生成单元测试:根据输入/输出,为函数创建带断言的测试。
- 支持使用 Gherkin 语法进行 BDD:解析功能文件并生成步骤定义。
- 分析测试金字塔:建议测试分布(例如,70% 单元测试、20% 集成测试、10% 端到端测试)。
- 执行覆盖率策略:设置阈值(例如,>80%)并识别未覆盖的代码行。
- 应用命名约定:为测试执行
testFunctionName等命名模式。 - 与工具集成:使用 API 通过 Jest、Pytest 或 Selenium 运行测试。
使用模式
要使用此技能,请在聊天或脚本中通过特定命令调用 OpenClaw。首先提供代码片段供其分析,然后请求生成测试。使用 TDD 时,交替编写测试和代码。使用 BDD 时,先提供用户故事。请务必指定测试类型(单元测试、集成测试、端到端测试),以便生成适配的输出。通过 JSON 文件进行配置,例如,在 .openclaw/config.json 中设置 "coverageThreshold": 80。要实现自动化,可将其与 Make 或 npm 脚本等构建工具串联使用。
常用命令/API
通过 OpenClaw CLI 或 API 调用。API 调用时,使用环境变量 $OPENCLAW_API_KEY 进行身份验证。
-
CLI 命令:使用
claw test run --type unit --file src/myfile.js --coverage true运行单元测试 示例片段:claw test run --type unit --file tests/unit.js // Output: Test results with coverage report -
API 端点:向
https://api.openclaw.ai/v1/test/run发送 POST 请求,并附上 JSON 请求体{ "type": "integration", "paths": ["src/"], "threshold": 85 }示例片段:curl -H "Authorization: Bearer $OPENCLAW_API_KEY" \ -d '{"type":"e2e","paths":["tests/e2e/"]}' https://api.openclaw.ai/v1/test/run -
常用标志:使用
--type [unit/integration/e2e]指定测试级别,使用--coverage生成报告,使用--bdd解析 Gherkin。 -
配置格式:测试配置使用 YAML,例如:
tests: unit: true coverage: 90
要生成 TDD 测试,请说:“为此函数生成一个单元测试:def add(a, b): return a + b”
集成说明
将此技能与现有工具集成,可将结果导出为 JUnit XML 或 HTML 报告等格式。对于 CI/CD,可在 GitHub Actions 或 Jenkins 中添加钩子,例如,将 claw test run --type e2e 作为一个步骤运行。如果使用测试框架,可在 .openclaw/config.json 中指定适配器(例如 "adapter": "jest"),将 OpenClaw 输出映射到 Jest 配置。请确保在流水线脚本中设置环境变量 $OPENCLAW_API_KEY,以保证 API 兼容性。对于多服务应用,可通过 Webhook 与监控工具配合,在代码更改时触发测试。
错误处理
发生错误时,请检查常见问题,例如测试类型无效或身份验证失败。在脚本中使用 try-catch,例如:
try {
await claw.test.run({ type: 'unit' });
} catch (error) {
console.error(error.message); // e.g., "API key missing"
}
通过验证 $OPENCLAW_API_KEY 和响应代码(例如,未授权时返回 401)来处理 API 错误。对于测试失败,请解析 OpenClaw 输出以获取具体信息,例如“第 5 行断言失败”。对暂时性错误采用指数退避重试,并以 JSON 格式记录详细信息以便调试。
使用示例
-
简单函数的 TDD:提供类似
def multiply(a, b): return a * b的代码,然后发出命令:“使用 pytest 为此编写一个单元测试。”OpenClaw 会回复:def test_multiply(): assert multiply(2, 3) == 6 assert multiply(0, 5) == 0使用
claw test run --type unit --file tests.py运行。 -
用户故事的 BDD:提供:“Feature: User login”,然后说:“生成步骤定义。”OpenClaw 会输出:
Given("user is on login page") do visit '/login' end使用
claw test run --bdd --file features/login.feature集成运行。
图关系
- 相关于:“tdd”(TDD 工作流的直接链接)
- 相关于:“bdd”(行为驱动测试的共用链接)
- 相关于:“quality”(与代码覆盖率和标准有重叠)
- 通过“testing”集群连接,用于测试金字塔策略
- 与“deployment”等无关集群没有直接边