live-service-e2e-testing
Testing Real-Service E2E No Mocks
Use this skill when a test must prove behavior against the actual external service, account, tenant, database, queue, browser, payment gateway, cloud API, or deployed environment. The goal is production-representative confidence without borrowing production risk.
Non-Negotiables
- No mocks, stubs, fakes, simulators, local emulators, contract-only assertions, or recorded replays may substitute for the real service behavior under test.
- Never use a production tenant, customer account, live money path, or shared mutable environment unless the user explicitly authorizes that exact target.
- Missing secrets, quota, sandbox access, or network access is a blocker to report, not a reason to fake success.
- Tests must be independently repeatable: each run owns its data, names, resources, and cleanup.
- Evidence must be sufficient for a reviewer to see what service was exercised, what was asserted, and what cleanup happened, without exposing secrets or sensitive payloads.
Build Workflow
-
Define the real-service boundary. Name every service, account, region, project, tenant, endpoint, webhook, queue, or browser surface that the test will touch. Mark anything that is not real-service traffic as support code only.
-
Establish account and environment isolation. Use a sandbox or dedicated test account. Require explicit environment variables for credentials and base URLs. Prefix all remote resources with a unique run id, and attach tags or metadata when the service supports them.