Skip to content

Improve integration test and LLM smoke test guidance in build-mcpb#59

Merged
JoeCardoso13 merged 2 commits intomainfrom
feat/integration-test-guidance
Mar 25, 2026
Merged

Improve integration test and LLM smoke test guidance in build-mcpb#59
JoeCardoso13 merged 2 commits intomainfrom
feat/integration-test-guidance

Conversation

@JoeCardoso13
Copy link
Copy Markdown
Contributor

Summary

  • Replace "integration tests are not blocking" with concrete write-then-run instructions where the escape hatch is the user's decision, not the agent's
  • Replace abstract placeholder templates (client.premium_method(), "Your test prompt here") with derivation rules and real patterns (read-only, write-with-cleanup, tier-gated, call_llm() helper)
  • Add gate criteria requiring both integration tests and LLM smoke tests to be written with real assertions — not stubs or TODOs
  • Document .env-based key setup, chained methods, concrete-identifiers rule for LLM prompts

Model repos used as reference

  • mcp-deepl — fully implemented integration tests with CRUD lifecycle and cleanup
  • mcp-ipinfo — integration tests with tier-skip helpers for premium endpoints

Repos where these patterns were validated

Integration tests and LLM smoke tests were added to all 6 repos, exercising the patterns documented in this PR:

Key findings from validation

Test plan

  • Verify ./scripts/validate.sh passes
  • Review that Phase 3 gate criteria are achievable by an agent following the instructions
  • Spot-check PATTERNS.md examples for correctness

…TTERNS

- Phase 3: split Verify section into three subsections (unit, integration,
  LLM smoke tests) each with command-first structure
- Phase 3: replace 'not blocking' language with concrete write-then-run
  instructions; escape hatch is user's decision, not the agent's
- Phase 3: document .env-based key setup and chained/tier-gated method patterns
- Phase 3: gate now requires integration tests to be written with real
  assertions, not stubs or TODOs
- PATTERNS.md: replace abstract placeholder templates with three concrete
  patterns (read-only, write-with-cleanup, tier-gated) derived from
  real playground repo experience
- PATTERNS.md: add key rules covering cleanup, timestamped names, print
  for visibility, and one-test-per-method guidance
- PATTERNS.md: replace placeholder LLM test template with call_llm()
  helper pattern and concrete test examples
- PATTERNS.md: add "concrete identifiers for required parameters" rule
  with examples (workspace GIDs, coordinates, unambiguous dates)
- Phase 3: add "How to write" and "How to run" subsections for LLM
  smoke tests, matching the structure used for integration tests
- Phase 3: gate now requires LLM smoke tests to be written with real
  assertions and to pass when ANTHROPIC_API_KEY is available
@JoeCardoso13 JoeCardoso13 merged commit 375de9a into main Mar 25, 2026
1 check passed
@JoeCardoso13 JoeCardoso13 deleted the feat/integration-test-guidance branch March 25, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants