docs: restructure README comparison table#19
Merged
zach-snell merged 2 commits intomainfrom May 1, 2026
Merged
Conversation
Replaces the single bundled comparison table with a compact "at a glance" table (5 differentiators) plus an expandable full matrix split into Deployment, Protocol support, Capabilities, Import/export, and Free tier sections. Changes driven by feedback and verification from #17: - Per-protocol rows instead of bundling (HTTP/gRPC/GraphQL/WS was hiding WireMock's extension story and MockServer's gRPC gap) - Fault injection vs chaos profiles split so tools can't borrow credit for primitives they ship vs those they don't - Import and export broken out; HAR export given its own row - WireMock OSS vs WireMock Cloud gating made explicit (OpenAPI import, MCP, chaos modes, dashboard are all Cloud-only) - Prism corrected from "Node" to binary (standalone releases exist) - Beeceptor added as SaaS entry with tier-appropriate footnotes - Mockoon dashboard corrected to "Cloud-only web UI" (desktop is Electron) - MockServer gRPC/GraphQL downgraded to HTTP-only (not supported) - json-server flagged REST-only and feature-frozen (v1 removed --delay) Sources and per-cell verification notes provided in PR description.
1 task
|
The new tables are very fair and detailed comparisions of available tooling stack. Great work @zach-snell in collecting all these. w.r.t Beeceptor, here are the confirmations based on current capabilities.
|
Updates four cells based on @ankitjaininfo's confirmations on #19. Confirmed and updated: - WebSocket: unverified to no (mocking not supported, only HTTP proxy) - Postman import: unverified to no (not available) - Bandwidth throttling: no to roadmap (per maintainer, 2026 roadmap item) Reviewed and held: - OAuth flows: stays no. The hosted oauth-mock template is a pre-built HTTP mock template, not native OAuth flow infrastructure. Token endpoint returns faker placeholders, no JWT signing or refresh primitives. Any HTTP mocker can host the same kind of template; this row is reserved for tools that ship OAuth as a first-class protocol primitive. - Chaos profiles: stays no. Weighted responses with custom error rates are credited under "Fault injection" where Beeceptor already scores yes. The Chaos profiles row is for named pre-built scenarios (slow-api, mobile-3g, dns-flaky, satellite, etc.) shipped with the tool, not for orchestrating profiles from primitives. Legend updated: removes "unverified" key (no cells use it now), adds "roadmap" key.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restructures the README comparison table into a compact "at a glance" section (5 differentiators) plus an expandable full matrix covering Deployment, Protocol support, Capabilities, Import/export, and Free tier.
Supersedes #17. Credits @ankitjaininfo's contribution; his feedback on row splits (per-protocol breakout, chaos split, stateful split, separate export row, self-hosted row) is incorporated directly.
Why restructure rather than row-add
The previous table bundled categories that were doing different work per tool:
Breaking the rows up makes every tool score honestly on what it actually ships, and keeps the table durable as new tools and tiers get added.
Per-cell sources
Every non-mockd cell was verified against primary-source docs. Two Beeceptor cells originally marked
⚠️ unverifiedwere resolved by @ankitjaininfo's confirmations on this PR; see commit history.mockd
All nine ✅ marks verified against the current codebase at
bfd88c1:go.mod(Go 1.26.2, no runtime deps)pkg/grpc/server.go,pkg/graphql/handler.go,pkg/websocket/handler.go,pkg/mqtt/broker.go,pkg/sse/sse.go,pkg/soap/handler.go,pkg/oauth/handler.gopkg/stateful/bridge.go,pkg/store/file/stateful_resource_store.gopkg/chaos/profiles.go(10 named profiles)pkg/chaos/circuit_breaker.gopkg/mcp/(18 tools intool_defs.go)pkg/portability/{openapi,postman,har,wsdl,wiremock,curl,mockoon}.gopkg/tunnel/manager.gopkg/admin/dashboard.go(build-tag gated, included in release binaries)WireMock OSS
EMPTY_RESPONSE,CONNECTION_RESET_BY_PEER, etc.): https://wiremock.org/docs/simulating-faults/Mockoon
application/soap+xmlcontent type, no WSDL mockingPrism
prism-cli-linux(116 MB),prism-cli-macos(113 MB),prism-cli-win.exe(136 MB)MockServer
dropConnection,randomBytes): https://www.mock-server.com/mock_server/creating_expectations.htmlBeeceptor
Beeceptor row resolution (per @ankitjaininfo confirmations):
roadmap(2026 roadmap item)mobile-3g,dns-flaky)json-server
v1.0.0-beta.15(2026-03-23), still in beta, feature-frozen: https://github.com/typicode/json-server/releases/tag/v1.0.0-beta.15--delayflag removed in v1, no fault injection: https://github.com/typicode/json-server#migration-notes-v0--v1db.jsonis the flagship feature: https://github.com/typicode/json-server#routesTest plan
<details>block and verify all four sub-tables render correctly:white_check_mark:leftovers)