End-to-end testing evaluates an entire system with most or all dependencies real. It provides broad confidence that deployed code still works, especially in continuous delivery. section 6.6
Use end-to-end tests when isolated checks cannot prove that the complete system delivers its promised result:
- Exercise more code and real dependencies than unit or integration tests, accepting greater execution cost. section 6.6
- Treat brittleness and maintenance difficulty as practical costs; a suite is valuable only if it remains working. section 6.6
- Use smoke tests as a narrower variant that checks a few important paths and detects severely broken deployments. section 6.6
Verifying an infrastructure macro
A macro that promises to create cloud resources needs more than tests of generated functions, structs, or enums. Run it in a separate project, use the AWS SDK to verify the resources, and clean them up afterward. A CI/CD pipeline combined with AWS Lambda can provide a realistic, inexpensive environment for this test. section 9.8
End-to-end tests complement rather than replace faster tests: unit tests remain appropriate for simple generation or transformation logic, while system-level behavior requires the broader check. section 9.8











