关于 testing-unit
用于将函数、方法和类与依赖隔离后进行单元测试的技能。它支持编写和运行测试、测量覆盖率,并集成到 CI/CD 流程中。
主要功能
- 01识别可测试的单元
- 02创建测试固定装置并模拟依赖
- 03覆盖常规、边界和错误情况
- 04运行测试并报告结果
- 05测量代码覆盖率
- 06将测试集成到 CI/CD
适用场景
- 01在集成前测试新代码
- 02重构时检查回归问题
- 03在 CI/CD 中运行自动化测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wojons/ skills --skill testing-unit安装后在 Claude Code 中输入/testing-unit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/README.mdscripts/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