mcpField
T
testing-unit

testing-unit

github.com/wojons测试与质量343 次安装30 周前更新
代码仓库

关于 testing-unit

用于将函数、方法和类与依赖隔离后进行单元测试的技能。它支持编写和运行测试、测量覆盖率,并集成到 CI/CD 流程中。

主要功能

  1. 01识别可测试的单元
  2. 02创建测试固定装置并模拟依赖
  3. 03覆盖常规、边界和错误情况
  4. 04运行测试并报告结果
  5. 05测量代码覆盖率
  6. 06将测试集成到 CI/CD

适用场景

  1. 01在集成前测试新代码
  2. 02重构时检查回归问题
  3. 03在 CI/CD 中运行自动化测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wojons/skills --skill testing-unit

安装后在 Claude Code 中输入/testing-unit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
README.md
scripts/
example.sh

详细介绍

单元测试

与依赖项隔离,测试单个函数、方法和类。

何时使用我

在以下情况下使用此技能:

  • 编写新代码,确保代码正常运行
  • 重构现有代码,同时避免破坏功能
  • 在持续集成过程中,尽早发现回归问题
  • 遵循测试驱动开发(TDD)实践

我能做什么

  • 识别可测试的单元(函数、方法、类)
  • 设置测试夹具并模拟依赖项
  • 编写覆盖正常、边界和错误情况的测试用例
  • 运行单元测试并报告通过/失败状态
  • 衡量已测试单元的代码覆盖率
  • 集成到 CI/CD 流水线中,进行自动化测试

示例

# Run unit tests with common frameworks
npm test                    # Node.js with Jest/Mocha
python -m pytest tests/     # Python with pytest
go test ./...              # Go built-in testing
cargo test                 # Rust with Cargo
dotnet test               # .NET with xUnit/NUnit

# Run specific test files
npm test -- src/utils.test.js
pytest tests/test_auth.py

# Run with coverage reporting
npm test -- --coverage
pytest --cov=src tests/

输出格式

✓ Test Suite: UserService
  ✓ should create user with valid data
  ✓ should reject duplicate email
  ✗ should handle database connection errors (failed)
    Expected: "Connection error handled"
    Received: "Unhandled database error"

Coverage: 92% (15/16 lines)
Failed: 1 test

注意事项

  • 单元测试应快速运行(每项测试耗时数毫秒)
  • 模拟外部依赖项(数据库、API、文件系统)
  • 力争实现较高的代码覆盖率(80-90% 以上)
  • 测试应彼此独立,且不依赖执行顺序
  • 遵循 AAA 模式:准备(Arrange)、执行(Act)、断言(Assert)
  • 适当使用测试替身(模拟对象、桩、间谍)

评论

支持 Markdown