unit-test-generator
1
总安装量
1
周安装量
#54842
全站排名
安装命令
npx skills add https://github.com/jackyst0/awesome-agent-skills --skill unit-test-generator
Agent 安装分布
mcpjam
1
claude-code
1
replit
1
windsurf
1
zencoder
1
Skill 文档
Unit Test Generator
æ ¹æ®æºä»£ç èªå¨çæåå æµè¯ï¼æ¯æå¤ç§è¯è¨åæµè¯æ¡æ¶ã
Automatically generate unit tests based on source code, supporting multiple languages and testing frameworks.
When to Use
å½ç¨æ·è¯·æ±ä»¥ä¸æä½æ¶ä½¿ç¨æ¤ skillï¼
- çæåå æµè¯ / Generate unit tests
- ä¸ºå½æ°/ç±»ç¼åæµè¯ / Write tests for functions/classes
- å建æµè¯ç¨ä¾ / Create test cases
- æé«ä»£ç è¦çç / Improve code coverage
Instructions
åææ¥éª¤ / Analysis Steps
- è¯å«ä»£ç – ç¡®å®ç¼ç¨è¯è¨å代ç ç»æ
- åæåè½ – çè§£å½æ°/æ¹æ³çè¾å ¥ãè¾åºåè¡ä¸º
- ç¡®å®è¾¹ç – è¯å«è¾¹çæ¡ä»¶åè¾¹ç¼æ åµ
- éæ©æ¡æ¶ – æ ¹æ®è¯è¨éæ©åéçæµè¯æ¡æ¶
- çææµè¯ – ç¼åå ¨é¢çæµè¯ç¨ä¾
æ¯æçè¯è¨åæ¡æ¶ / Supported Languages
| è¯è¨ | æµè¯æ¡æ¶ |
|---|---|
| Python | pytest, unittest |
| JavaScript/TypeScript | Jest, Mocha, Vitest |
| Java | JUnit, TestNG |
| Go | testing (built-in) |
| Rust | cargo test (built-in) |
æµè¯ç±»å / Test Types
- æ£å¸¸è·¯å¾æµè¯ – éªè¯é¢æè¡ä¸º
- è¾¹çæ¡ä»¶æµè¯ – æµè¯è¾¹çå¼
- å¼å¸¸å¤çæµè¯ – éªè¯é误å¤ç
- 空å¼/空è¾å ¥æµè¯ – å¤çç©ºå¼æ åµ
è¾åºæ ¼å¼ / Output Format
ä½¿ç¨ templates/test-report.md æ¨¡æ¿æ ¼å¼åè¾åºã
Use the templates/test-report.md template to format output.
## åå
æµè¯çææ¥å / Unit Test Generation Report
### åææ¦è¿° / Analysis Summary
[代ç åææ»ç»]
### çæçæµè¯ / Generated Tests
[æµè¯ä»£ç ]
### æµè¯è¦ç说æ / Coverage Notes
- è¦ççåºæ¯
- 建议补å
çæµè¯
Examples
è¾å ¥ / Input
def divide(a: float, b: float) -> float:
if b == 0:
raise ValueError("Cannot divide by zero")
return a / b
è¾åº / Output
åå æµè¯çææ¥å
åææ¦è¿°
divide 彿°æ§è¡é¤æ³è¿ç®ï¼å
å«é¤é¶æ£æ¥ãéè¦æµè¯æ£å¸¸é¤æ³ãé¤é¶å¼å¸¸ãè¾¹çå¼çæ
åµã
çæçæµè¯
import pytest
from your_module import divide
class TestDivide:
"""Tests for the divide function."""
def test_divide_positive_numbers(self):
"""Test division of positive numbers."""
assert divide(10, 2) == 5.0
assert divide(7, 2) == 3.5
def test_divide_negative_numbers(self):
"""Test division with negative numbers."""
assert divide(-10, 2) == -5.0
assert divide(10, -2) == -5.0
assert divide(-10, -2) == 5.0
def test_divide_by_zero_raises_error(self):
"""Test that dividing by zero raises ValueError."""
with pytest.raises(ValueError, match="Cannot divide by zero"):
divide(10, 0)
def test_divide_zero_numerator(self):
"""Test division when numerator is zero."""
assert divide(0, 5) == 0.0
def test_divide_float_precision(self):
"""Test division with floating point numbers."""
assert divide(1, 3) == pytest.approx(0.333333, rel=1e-5)
æµè¯è¦ç说æ
- â æ£å¸¸æ£æ°é¤æ³
- â è´æ°é¤æ³
- â é¤é¶å¼å¸¸
- â åå为é¶
- â æµ®ç¹ç²¾åº¦