Skip to content
Back to skills

Mav Bp Testing

ASecurity

Testing standards — unit and integration testing as one discipline. Maverick''s opinionated rules: behaviour over implementation, mock at boundaries only, 60% unit-coverage CI gate, critical-path integration coverage with a no-decrease ratchet. Applied when writing or reviewing tests.

  • 11 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
testinggotestingapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add thermiteau/maverick --skill mav-bp-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mav Bp Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mav Bp Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thermiteau-mav-bp-testing/badge)](https://www.skillsdirectory.com/skills/thermiteau-mav-bp-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mav-bp-testing
description: 'Testing standards — unit and integration testing as one discipline. Maverick''s opinionated rules: behaviour over implementation, mock at boundaries only, 60% unit-coverage CI gate, critical-path integration coverage with a no-decrease ratchet. Applied when writing or reviewing tests.'
user-invocable: false
disable-model-invocation: true
---

# Testing Standards

Unit and integration testing as one discipline. Unit tests verify
behaviour in isolation; integration tests verify real wiring across
boundaries. Together they are the only automated evidence that generated
code actually works.

## Maverick's Rules

**Unit tests**
- **Test behaviour, not implementation.** Assert on outputs and effects,
  never on reimplemented logic (tautological tests) or internal calls.
- **Mock at the boundary only** (APIs, DB, filesystem). Never mock what
  you own; prefer stubs over mocks; >3 mocks in one test means the unit's
  design is wrong.
- **No logic in tests** — no conditionals, loops, or try/catch in test
  bodies. No test interdependence. Delete flaky tests rather than keep
  them.
- A unit test taking >100ms is hitting real I/O — fix it.

**Integration tests**
- **Complement, don't duplicate** — cover cross-boundary behaviour
  (endpoints, persistence, external clients); never re-test unit-covered
  logic.
- Each test owns its data and cleans up; parallel runs never collide.
- Real dependencies in order of preference: containers → sandboxes →
  fakes. Never production services.
- Health-check polling with timeouts, never sleeps. Every test has an
  explicit timeout.

**Coverage (enforced, not aspirational)**
- **Unit: 60% minimum, gated in CI** — the build fails below it. The
  number is a floor, not a goal: coverage with weak assertions is worse
  than less coverage with strong ones.
- **Integration: every critical cross-boundary path** (auth, payment,
  persistence, external APIs) **has at least one test, and coverage
  must not decrease** — a ratchet, not a percentage floor.

## Project Implementation Lookup

Check `docs/maverick/skills/unit-testing/SKILL.md` and
`docs/maverick/skills/integration-testing/SKILL.md` for the project's
framework, conventions, and extra requirements. If present, they win on
specifics. If missing, proceed with these standards and note the gap in
your summary — do not trigger skill generation mid-task.

## Detecting Testing Issues in Code Review

| Pattern | Issue | Fix |
| ------- | ----- | --- |
| Test with no assertions | False confidence | Add meaningful assertions |
| Mocking internal modules | Brittle tests | Mock at boundaries only |
| Test name describes implementation | Couples to internals | Describe behaviour instead |
| Shared mutable state between tests | Test pollution | Use beforeEach/factory functions |
| Test catches and swallows errors | Hidden failures | Let errors propagate or assert on them |
| >3 mocks in one test | Unit has too many dependencies | Refactor the unit's design |
| Test duplicates implementation logic | Tautological test | Assert on outputs, not reimplemented logic |
| Commented-out tests | Dead tests hiding failures | Delete or fix |
| Test hits production service | Side effects and flakiness | Use container, sandbox, or stub |
| No cleanup after test | Data leaks between tests | Add teardown or transaction rollback |
| Sleep-based waits for dependencies | Flaky timing | Health-check polling with timeout |
| Integration test duplicates unit coverage | Wasted execution time | Delete and rely on the unit test |
| No timeout set | Hanging test blocks CI | Set explicit per-test timeout |
| Hard-coded connection strings | Breaks across environments | Use environment variables or config |
| Test requires manual environment setup | Not reproducible | Automate with containers or scripts |

<!-- maverick-plugin-version: 4.0.1 -->

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.