nw-test-design-mandates

Solid

Four design mandates for acceptance tests - hexagonal boundary enforcement, business language abstraction, user journey completeness, walking skeleton strategy, and pure function extraction

Testing & QA 526 stars 55 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
91
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Acceptance Test Design Mandates Four mandates enforced during peer review. All must pass before handoff to software-crafter. ## Mandate 1: Hexagonal Boundary Enforcement Tests invoke through driving ports (entry points), never internal components. ### Driving Ports (Test Through These) Application services/orchestrators | API controllers/CLI handlers | Message consumers/event handlers | Public API facade classes ### Not Entry Points (Never Test Directly) Internal validators, parsers, formatters | Domain entities/value objects | Repository implementations | Internal service components ### Correct Pattern ```python # Invoke through system entry point (driving port) from myapp.orchestrator import AppOrchestrator def when_user_performs_action(self): orchestrator = AppOrchestrator() self.result = orchestrator.perform_action( context=self.context ) ``` ### Violation Pattern ```python # Invoking internal component directly from myapp.validator import InputValidator # INTERNAL def when_user_validates_input(self): validator = InputValidator() # WRONG BOUNDARY self.result = validator.validate(self.input) ``` Testing internal components creates Testing Theater: tests pass but users cannot access feature through actual entry point. Integration wiring bugs remain hidden. ## Mandate 2: Business Language Abstraction Step methods speak business language, abstract all technical details. ### Three Abstraction Layers **Layer 1 - Gherkin**: Pure bu...

Details

Author
nWave-ai
Repository
nWave-ai/nWave
Created
3 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category