ソース情報
- リポジトリ
- bage2014/study
- ソースの最終更新活動
- 2026年6月24日 23:18
- 検出された SKILL.md の言語
- 中国語
- スター
- 635
- フォーク
- 113
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/bage2014/study --skill common-backend-unit-testコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | common-backend-unit-test |
| description | 提供后端单元测试指导和生成能力,支持JUnit 5、Mockito等框架 |
| trigger | 用户需要编写后端单元测试时 |
| disable-when | 项目已完成测试覆盖或使用其他测试框架 |
| category | backend |
| tags | ["testing","junit","mockito","unit-test"] |
提供后端服务的单元测试能力,帮助开发者编写高质量的单元测试,确保代码的正确性和可维护性。
在以下情况调用此技能:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | String | 是 | 目标编程语言(Java/Python/Go等) |
| framework | String | 否 | 使用的测试框架(JUnit/Pytest/Ginkgo等) |
| targetCode | String | 是 | 目标代码或文件路径 |
| testType | String | 否 | 测试类型(单元测试/集成测试) |
{
"status": "SUCCESS",
"language": "Java",
"framework": "JUnit 5",
"testCode": "生成的测试代码",
"testCases": [
{
"name": "测试用例名称",
"description": "测试描述",
"expectedResult": "期望结果"
}
],
"coverage": {
"lineCoverage": 85.5,
"branchCoverage": 78.2,
"methodCoverage": 90.0
},
"suggestions": ["优化建议1", "优化建议2"]
需求分析 → 测试设计 → 测试编写 → 测试执行 → 覆盖率分析 → 优化改进 → 报告生成
| 检查项 | 说明 | 状态 |
|---|---|---|
| 覆盖完整 | 是否覆盖主要业务场景 | ✅/❌ |
| 边界测试 | 是否测试边界条件 | ✅/❌ |
| 异常测试 | 是否测试异常情况 | ✅/❌ |
| 断言明确 | 断言是否清晰明确 | ✅/❌ |
| 测试独立 | 测试用例是否相互独立 | ✅/❌ |
| Mock正确 | Mock对象是否正确配置 | ✅/❌ |
| 命名规范 | 测试方法命名是否规范 | ✅/❌ |
| 文档完整 | 是否有必要的注释说明 | ✅/❌ |
@DisplayName("用户服务测试")
class UserServiceTest {
@Mock
private UserRepository userRepository;
@InjectMocks
private UserService userService;
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
@DisplayName("创建用户 - 成功")
void createUser_Success() {
// given
UserCreateRequest request = new UserCreateRequest("test@example.com");
User expectedUser = new User("1", "test@example.com");
when(userRepository.save(any(User.class))).thenReturn(expectedUser);
// when
User result = userService.createUser(request);
// then
assertThat(result.getId()).isEqualTo("1");
verify(userRepository, times(1)).save(any(User.class));
}
}
方法名_场景_预期结果
例如:
- createUser_withValidEmail_returnsUser
- createUser_withNullEmail_throwsException
- getUserById_existingId_returnsUser
- getUserById_nonExistingId_returnsNull
| 指标 | 目标值 | 说明 |
|---|---|---|
| 行覆盖率 | ≥80% | 代码行被测试覆盖的比例 |
| 分支覆盖率 | ≥70% | 条件分支被测试覆盖的比例 |
| 方法覆盖率 | ≥85% | 方法被测试覆盖的比例 |
| 组件 | 职责 | 描述 |
|---|---|---|
| TestGenerator | 测试生成器 | 根据代码生成测试用例 |
| MockGenerator | Mock生成器 | 生成Mock对象和配置 |
| CoverageAnalyzer | 覆盖率分析器 | 分析测试覆盖率 |
| TestReporter | 测试报告器 | 生成测试报告 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
| TEST_FRAMEWORK | 默认测试框架 | junit5 |
| COVERAGE_THRESHOLD | 覆盖率阈值 | 80 |
testing:
framework: junit5
coverage:
line-threshold: 80
branch-threshold: 70
method-threshold: 85
report:
format: html
output-dir: target/site/jacoco