Token导航 LogoToken导航TokenDH.com
开发只读clawhub未标认证来源可访问clear审计提醒

oc-tddOC 时差

Agent Skill

oc-tdd 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,328

周安装

135

GitHub Stars

公开资料未说明

下载量

816
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:oc-tdd(OC 时差)
来源仓库:https://github.com/michealxie001/oc-tdd
安装命令:
openclaw skills install oc-tdd
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install oc-tdd

简介

辅助测试驱动开发,从代码或规范生成测试用例并指导红绿重构周期。

  • 适用于前端组件、页面逻辑和样式实现的测试覆盖提升。
  • 安装后可通过命令生成测试骨架、运行测试并反馈覆盖率。
  • 需确认项目测试框架兼容性,避免因测试改动影响业务逻辑。
  • 涉及浏览器或外部依赖时,应使用模拟环境隔离风险。oc-tdd 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
tdd
description
Test-Driven Development assistant. Generates test cases from code or specifications, runs tests, tracks coverage, and guides the red-green-refactor cycle. Supports pytest, unittest, jest, and go test.

TDD (Test-Driven Development)

测试驱动开发助手,从代码或规格生成测试用例,运行测试,追踪覆盖率,引导红-绿-重构循环。

Version: 1.1 Features: 测试生成、测试运行、覆盖率追踪、TDD 工作流、C/C++ Unity 支持 (NEW)


Quick Start

1. 为函数生成测试

# 为单个函数生成测试
python3 scripts/main.py generate --function "calculate_total" --file src/cart.py

# 为整个模块生成测试
python3 scripts/main.py generate --file src/cart.py --output tests/test_cart.py

2. 运行测试

# 运行所有测试
python3 scripts/main.py run

# 运行特定测试文件
python3 scripts/main.py run tests/test_cart.py

# 持续监听模式
python3 scripts/main.py run --watch

3. TDD 循环

# 开始 TDD 会话
python3 scripts/main.py cycle --file src/new_feature.py

# 检查当前状态
python3 scripts/main.py status

4. 覆盖率报告

# 生成覆盖率报告
python3 scripts/main.py coverage

# 查看未覆盖的代码
python3 scripts/main.py coverage --uncovered

Commands

命令说明示例
generate生成测试generate --file src/x.py
run运行测试run tests/
cycleTDD 循环cycle --file src/x.py
status查看状态status
coverage覆盖率报告coverage --html
mutant变异测试mutant src/

Test Generation

从函数签名生成

# src/calculator.py
def calculate_discount(price: float, rate: float) -> float:
    """Calculate discounted price"""
    return price * (1 - rate)

生成的测试:

# tests/test_calculator.py
def test_calculate_discount():
    # Normal case
    assert calculate_discount(100.0, 0.2) == 80.0
    
    # Edge cases
    assert calculate_discount(0.0, 0.2) == 0.0
    assert calculate_discount(100.0, 0.0) == 100.0
    assert calculate_discount(100.0, 1.0) == 0.0
    
    # Negative tests
    with pytest.raises(ValueError):
        calculate_discount(-100.0, 0.2)

支持的测试框架

语言框架自动检测
Pythonpytest
Pythonunittest
JavaScriptJest
Gotesting

TDD Cycle

红-绿-重构循环

$ python3 scripts/main.py cycle --file src/calculator.py

🔄 TDD Cycle for src/calculator.py
================================

🔴 RED: Write a failing test
   Generated: tests/test_calculator.py
   Add your test case and run: tdd run

$ # 编辑测试文件...

$ python3 scripts/main.py run
🔴 Test FAILED (expected)

💚 GREEN: Make it pass
   Implement the function to pass the test

$ # 编辑实现...

$ python3 scripts/main.py run
💚 Test PASSED

♻️  REFACTOR: Improve the code
   Run: tdd run
   Check coverage: tdd coverage

$ python3 scripts/main.py run
♻️  All tests pass, ready to refactor

状态追踪

$ python3 scripts/main.py status

📊 TDD Status
=============
Current Phase: GREEN
Last Run: 2026-04-01 18:30:00
Tests: 5 passed, 0 failed
Coverage: 87%

Next: Refactor or add new test

Coverage

基本报告

python3 scripts/main.py coverage

输出:

📊 Coverage Report
==================
Total: 87%

src/calculator.py     95%  ✅
src/discount.py       72%  ⚠️
src/utils.py          45%  🔴

未覆盖代码

python3 scripts/main.py coverage --uncovered

输出:

🔍 Uncovered Lines
==================
src/discount.py:45-52  calculate_bulk_discount
src/utils.py:12-30     validate_email

HTML 报告

python3 scripts/main.py coverage --html --output coverage_report/

Configuration

.tdd.json:

{
  "framework": "pytest",
  "test_dir": "tests",
  "source_dir": "src",
  "coverage": {
    "threshold": 80,
    "exclude": ["tests/**", "vendor/**"]
  },
  "generate": {
    "edge_cases": true,
    "error_cases": true,
    "property_tests": false
  }
}

Examples

场景 1:为新功能写测试

# 1. 创建新文件
touch src/payment.py

# 2. 生成测试框架
python3 scripts/main.py generate --file src/payment.py

# 3. 编辑测试(让它失败)
# tests/test_payment.py

# 4. 运行测试(应该失败)
python3 scripts/main.py run

# 5. 实现功能(让它通过)
# src/payment.py

# 6. 运行测试(应该通过)
python3 scripts/main.py run

# 7. 重构并确保测试仍通过
python3 scripts/main.py run

场景 2:提高覆盖率

# 1. 查看当前覆盖率
python3 scripts/main.py coverage

# 2. 找到未覆盖的代码
python3 scripts/main.py coverage --uncovered

# 3. 为未覆盖的函数生成测试
python3 scripts/main.py generate --function "uncovered_func" --file src/utils.py

# 4. 再次检查覆盖率
python3 scripts/main.py coverage

场景 3:回归测试

# 修复 bug 前,先写测试
python3 scripts/main.py generate --function "buggy_function" --file src/auth.py

# 确认测试失败(复现 bug)
python3 scripts/main.py run

# 修复 bug
# ...

# 确认测试通过
python3 scripts/main.py run

Mutation Testing

测试测试的质量:

python3 scripts/main.py mutant src/

原理:

  1. 自动修改代码(变异)
  2. 运行测试
  3. 如果测试通过,说明测试不够严格

输出:

🧬 Mutation Testing
===================
Mutants: 45
Killed: 42 (93%) ✅
Survived: 3 (7%) ⚠️

Survived mutants:
- src/calculator.py:23  (changed + to -)
  Test didn't catch this!

CI/CD 集成

# .github/workflows/test.yml
name: Tests
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Run Tests
        run: python3 skills/tdd/scripts/main.py run
      
      - name: Coverage Check
        run: python3 skills/tdd/scripts/main.py coverage --fail-under 80

Files

skills/tdd/
├── SKILL.md                    # 本文件
└── scripts/
    ├── main.py                 # ⭐ 统一入口
    ├── generator.py            # 测试生成器
    ├── runner.py               # 测试运行器
    └── coverage.py             # 覆盖率追踪

Roadmap

  • [x] 测试生成(Python)
  • [x] 测试运行(pytest/unittest)
  • [x] 覆盖率报告
  • [ ] TDD 循环引导
  • [ ] 变异测试
  • [ ] JavaScript/Go 支持
  • [ ] AI 辅助测试生成

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

82.33%
按下载量换算672

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills