spring-boot-testing

Installation
SKILL.md

Spring Boot Testing Standards

Priority: P0 (CRITICAL)

Core Rule Anchors

  • [BE-TEST-01] Parameterized Tests for Equivalent Cases: Prefer @ParameterizedTest (@CsvSource, @MethodSource) when methods have multiple equivalent inputs or boundary permutations. Distinct scenarios may stay separate test methods. Reviewers must not demand parameterized rewrites without a behavioral gap.
  • [BE-TEST-02] Ban on Brittle DB Mock String Matching: Do not use string-matching mocks for raw SQL queries. Test pure domain calculations directly, or use Testcontainers for database repository verification.
  • [BE-TEST-03] Ban on Shallow Assertions: Never assert only assertThat(result).isNotNull() without inspecting domain fields, status codes, and invariants.
  • [BE-TEST-04] Ban on Pass-Through Interface Mocks: Repositories and service handlers must test contract compliance and error mapping. Ban 1:1 pass-through mock echoing without contract assertions.
  • [BE-TEST-05] Bug-First Regression Lock: Every PR fixing a bug ticket or with title fix(...) must introduce a test reproducing the defect prior to the fix.

Follow TDD Workflow

  1. Red: Write failing test (e.g., returns 404) ([BE-TEST-05]).
  2. Green: Implement minimal code to pass.
  3. Refactor: Clean up while keeping tests green ([BE-TEST-01]).
  4. Coverage: Diagnostic and project-configured; verify risk-weighted critical paths rather than padding code for an arbitrary percentage.

Write Slice and Integration Tests

Installs
1
GitHub Stars
570
First Seen
3 days ago