mcpField
1
131-java-testing-unit-testing

131-java-testing-unit-testing

github.com/jabrena测试与质量456454 次安装1 天前更新
代码仓库

关于 131-java-testing-unit-testing

面向 Java 项目的单元测试技能,帮助审查和改进测试,涵盖 JUnit 5、AssertJ 与 Mockito。它结合测试质量原则和正反示例,并要求先编译、再完整验证。

主要功能

  1. 01JUnit 5 测试结构与参数化
  2. 02AssertJ 流式断言
  3. 03Mockito 依赖模拟
  4. 04覆盖率与边界条件指导
  5. 05编译后修改并完整验证

适用场景

  1. 01审查和现代化 Java 单元测试
  2. 02编写快速的 JUnit 单元测试
  3. 03隔离协作者并改进 Mockito 测试

安装

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

$npx skills add https://github.com/jabrena/plinth --skill 131-java-testing-unit-testing

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

附带文件references/131-java-testing-unit-testing.md

详细介绍

Java 单元测试指南

使用现代 JUnit 5、AssertJ 和 Mockito 最佳实践审查并改进 Java 单元测试。

此技能涵盖哪些内容?

  • JUnit 5 注解:@Test、@BeforeEach、@AfterEach、@DisplayName、@Nested、@ParameterizedTest
  • AssertJ 流式断言:assertThat、assertThatThrownBy
  • Given-When-Then 测试结构、描述性测试命名、单一职责测试
  • 测试独立性与隔离状态
  • 参数化测试:@ValueSource/@CsvSource/@MethodSource
  • Mockito 依赖模拟:@Mock、@InjectMocks、MockitoExtension
  • 代码覆盖率指南(JaCoCo)、包级私有测试可见性
  • 测试反模式:反射、共享状态、硬编码值、测试实现细节
  • 错误处理:assertThatThrownBy、异常消息
  • JSpecify 空值安全:@NullMarked、@Nullable
  • RIGHT-BICEP 覆盖原则、A-TRIP 测试质量、CORRECT 边界条件验证

范围: 参考文档按示例组织,针对每个核心领域展示良好和不良代码模式。请根据适用示例应用建议。

约束

应用任何单元测试更改前,请确保项目能够编译。如果编译失败,请立即停止,解决问题后再继续。完成改进后,运行完整验证。

  • 必须: 应用任何更改前,运行 ./mvnw compile 或 mvn compile
  • 安全要求: 如果编译失败,请立即停止,不要继续;编译失败属于阻断条件
  • 验证: 应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前: 阅读参考文档,了解详细示例、良好与不良模式以及约束

何时使用此技能

  • 审查 Java 单元测试代码
  • 在 Java 代码中应用单元测试最佳实践
  • 为 Java 代码编写快速的 JUnit 单元测试
  • 改进基于 Mockito 的 Java 单元测试
  • 重构 Java 测试以隔离协作者

工作流

  1. 在更改单元测试前编译项目

运行 ./mvnw compile 或 mvn compile,如果编译失败,请立即停止。

  1. 阅读单元测试参考文档并评估覆盖情况

阅读 references/131-java-testing-unit-testing.md,找出当前测试在现代化和质量方面的不足。

  1. 应用单元测试最佳实践

使用 JUnit 5、AssertJ、Mockito、参数化测试和更严格的边界检查来实现或重构测试。

  1. 通过完整构建进行验证

应用改进后,运行 ./mvnw clean verify 或 mvn clean verify。

参考资料

详细指南、示例和约束请参见 references/131-java-testing-unit-testing.md。

评论

支持 Markdown