java-testing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited java-testing (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill for Java tests: unit tests, JUnit/Mockito/AssertJ examples, characterization tests, Golden Master tests, seams, or dependency-breaking.
Do not use for non-Java projects, generic strategy, frontend/E2E, performance, security, or refactoring without a testing objective.
Own Java test workflow: detect the local stack, choose the smallest safe technique, create or propose tests, and explain seam/dependency tradeoffs. The caller owns product behavior, dependency approval, and running project commands when validation exists.
Before writing tests, inspect or ask for:
| Situation | Route |
|---|---|
| Clean, injectable class needs tests | Use Simple Unit Tests below. |
| Existing code has no tests but is easy to instantiate | Write characterization tests first, then improve. |
| Constructor/static/global/framework dependencies block testing | Use references/quick-decision-flow.md and dependency-breaking references. |
| Dependency setup is missing or unclear | Read references/dependency-setup.md before adding imports or build snippets. |
| Golden Master or ApprovalTests is needed | Read references/characterization-tests.md, then references/approvaltests-setup.md before creating baselines. |
| Static/final mocking or captors are needed | Read references/mockito-patterns.md before choosing Mockito features. |
| Large legacy cluster or unclear effect propagation | Read references/advanced-patterns.md for pinch points, effect sketches, and hot spots. |
src/test/java/ mirroring the source package.{ClassName}Test and methods should{Behavior}When{Condition} unless the project already uses another convention.// Given, // When, // Then markers only when they improve scanning; avoid extra comments/Javadocs.@ExtendWith(MockitoExtension.class), @Mock, and @InjectMocks only when constructor setup adds noise.assertThat() / assertThatThrownBy() when already present; WithAssertions is acceptable if it matches project style.ArgumentCaptor only when the passed object is the behavior under test.Load progressively; do not read the full catalog by default. Use references/ to understand when and why to apply a technique. Use assets/examples/ only as copyable starting points: adapt package names, dependencies, naming, and project conventions before committing.
| Reference | Load when |
|---|---|
references/dependency-setup.md | Dependency setup or version compatibility is unclear. |
references/mockito-patterns.md | Mockito annotations, captors, verification, static/final mocking, or interaction boundaries are needed. |
references/characterization-tests.md | Existing behavior must be locked before modification, including Golden Master tests. |
references/approvaltests-setup.md | ApprovalTests setup or baseline workflow is needed. |
references/seam-model.md | Seams and enabling points must be classified before breaking dependencies. |
references/dependency-breaking.md | Constructor, interface, override, parameter adaptation, or global-reference techniques are needed. |
references/quick-decision-flow.md | The code is hard to test and you need a first route. |
references/sensing-separation.md | Decide whether the seam observes behavior or separates dependencies. |
references/pass-null-subclass-override.md | Pass Null, null object, subclass-and-override, or extract-and-override is the likely seam. |
references/sprout-wrap-techniques.md | Risky legacy additions call for Sprout Method/Class or Wrap Method/Class. |
references/method-object-skin-wrap.md | Long methods, API skin wrapping, or method-object extraction is needed. |
references/tdd-legacy.md | The task asks for TDD while modifying existing legacy Java. |
references/advanced-patterns.md | Pinch points, effect sketches, God classes, hot spots, or scratch refactoring are needed. |
assets/examples/ExampleServiceTest.java | Service test template with JUnit 5, Mockito, and AssertJ. |
assets/examples/ExampleConfigTest.java | Configuration/value-object style example. |
assets/examples/ExampleHandlerTest.java | Handler/controller collaborator example. |
assets/examples/ExampleCacheTest.java | Cache/stateful behavior example. |
assets/examples/ExampleListenerTest.java | Listener/event-driven example. |
Return:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.