mcpField
T
testing

testing

github.com/alphaonedev测试与质量42 次安装
代码仓库

关于 testing

testing 技能帮助 OpenClaw 支持单元、集成和端到端测试,涵盖 TDD、BDD、覆盖率分析、测试命名及执行工作流。

主要功能

  1. 01通过 TDD 生成单元测试
  2. 02根据 Gherkin 创建 BDD 步骤定义
  3. 03建议测试金字塔比例
  4. 04设置覆盖率阈值并查找缺口
  5. 05通过 Jest、Pytest 或 Selenium 运行测试

适用场景

  1. 01实现功能时补充测试
  2. 02为用户故事生成步骤定义
  3. 03重构期间检查覆盖率
  4. 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 格式记录详细信息以便调试。

使用示例

  1. 简单函数的 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 运行。

  2. 用户故事的 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”等无关集群没有直接边

评论

支持 Markdown