Context
Use this when architecture or service seams are still being built, but the team needs concrete acceptance coverage now.
Pattern
- Create one test project per seam (
Desktop,Services,Domain) undertests/. - Add one runnable smoke or contract test that can pass against what exists today.
- Encode expected rules in tiny spec helpers so the acceptance behavior is executable, not just written down.
- Add skipped tests with precise blocker text for the integration checks that cannot run yet.
- Pair the tests with a written matrix that maps each case to a success criterion or failure mode.
- Record contract gaps immediately so implementation teams know what must stabilize for the placeholders to turn live.
Good signs
- The first
dotnet testrun passes immediately. - Blocked tests say exactly what seam is missing.
- Reviewers can see which requirements are already guarded and which are waiting on implementation.
Anti-patterns
- Creating only prose test notes with no executable checks
- Adding failing tests that block unrelated work before the seam exists
- Leaving placeholders without an explicit blocker or acceptance target