859 B
859 B
Fixture Architecture Playbook
- Build helpers as pure functions first, then expose them via Playwright
extendor Cypress commands so logic stays testable in isolation. - Compose capabilities with
mergeTests(Playwright) or layered Cypress commands instead of inheritance; each fixture should solve one concern (auth, api, logs, network). - Keep HTTP helpers framework agnostic—accept all required params explicitly and return results so unit tests and runtime fixtures can share them.
- Export fixtures through package subpaths (
"./api-request","./api-request/fixtures") to make reuse trivial across suites and projects. - Treat fixture files as infrastructure: document dependencies, enforce deterministic timeouts, and ban hidden retries that mask flakiness.
Source: Murat Testing Philosophy, cy-vs-pw comparison, SEON production patterns.