chiefgui/skills

tests

Design, review, and maintain tests.

Ver código fuente
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Tests

Selection

  • Add tests or recommend more coverage only for concrete gaps in required behavior or material failure protection. Require the additional protection to justify maintenance and execution cost.
  • Stop adding cases when they repeat existing protection; retain cases for distinct rules, boundaries, and failure modes.
  • Choose a test scope that can expose the relevant failure. Exercise real component interactions when correctness depends on their integration.
  • Treat coverage as evidence of execution, not assertion quality. Test counts, missing test files, and uncovered lines alone do not justify additional tests.

Expectations

  • Derive expected results from requirements, contracts, or independently established examples.
  • Do not use the implementation under test to generate its own expected results or duplicate its logic in the test.
  • Distinguish tests that preserve observed behavior from tests that establish required behavior.
  • Assert outcomes precisely enough to reject plausible incorrect results; successful execution alone is insufficient.

Contracts

  • Test through consumer interfaces and keep tests valid across internal refactors that preserve the tested contract.
  • Avoid assertions on private state, internal structure, or incidental call order.
  • Assert interactions when the interaction itself is required behavior.
  • Do not mock the behavior the test claims to protect. Account for what replaced dependencies leave untested.

Reliability

  • Isolate mutable state so tests do not depend on execution order. Control clocks, randomness, and external dependencies where they affect reproducibility.
  • Wait for observable completion or conditions instead of fixed sleeps. Fix intermittent failures rather than masking them with retries.

Failure detection

  • For bug fixes, establish that the regression test fails against the buggy behavior and passes with the fix where feasible.
  • Confirm that the failure comes from the intended behavioral assertion, not broken setup or unrelated errors.
  • When assertion strength is uncertain, consider a targeted temporary fault to check whether the test detects it; restore the code afterward.

Maintenance and review

  • Remove tests for retired behavior or tests that add no distinct failure protection. Overlapping assertions or coverage do not establish redundancy across different integration boundaries.
  • Investigate failures; change expectations or snapshots only when requirements or evidence justify the change.
  • Do not weaken assertions, skip cases, or delete failing tests merely to make checks pass.
del mismo repositorio

Más Skills

Todos los Skills