Principle:Cypress io Cypress System Test Validation
| Knowledge Sources | |
|---|---|
| Domains | Testing, Quality_Assurance |
| Last Updated | 2026-02-12 00:00 GMT |
Overview
An integration testing strategy that validates the complete Cypress binary by running end-to-end system tests against the packaged application to ensure correct behavior across platforms.
Description
System test validation runs after binary packaging to verify that the complete Cypress application works correctly. Unlike unit tests (which test individual modules) or E2E tests (which test the Cypress UI), system tests exercise the full binary by running real Cypress test projects and verifying the output matches expected snapshots.
System tests cover critical paths: installation, configuration, test execution, recording, error handling, and platform-specific behavior. They run in isolated environments (often Docker containers) to ensure clean-room validation.
Usage
Use this principle during the release pipeline to validate the packaged binary before publishing. System tests must pass before a release is approved.
Theoretical Basis
System Test Architecture:
Test Runner (Mocha) → spawns Cypress binary → runs fixture project → captures output
→ compares output to expected snapshots → pass/fail
Test Categories:
- test/: Core functionality tests
- test-binary/: Binary-specific tests (installation, packaging)
Validation Points:
- Exit codes match expected values
- Stdout/stderr match snapshot patterns
- Generated artifacts (screenshots, videos) exist
- CI recording payloads match expected shape