Evans vs grpcmock-go
Evans
github.comgrpcmock-go
github.comSide by side
| Figure | Evans | grpcmock-go |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 7.9 (#11) | 8.1 (#6) |
| License | The repository identifies its license as MIT. | The repository identifies its license as MIT. |
| Purpose | Evans is a universal gRPC client for manual API inspection and scripting. | grpcmock is a set of gRPC test utilities for Golang. |
| Streaming | Evans supports client streaming, server streaming, and bidirectional streaming RPCs. | It supports unary, client-streaming, server-streaming, and bidirectional-streaming methods. |
Plans
In their own words
Evans
Evans is a free universal gRPC client for manual API inspection and scripting on Linux, macOS, and Windows. Its interactive REPL completes package, service, and RPC names. Stateless CLI mode reads standard input or files and prints JSON-formatted results. When server reflection is enabled, Evans can use that instead of proto files. It supports client-streaming, server-streaming, and bidirectional-streaming RPCs, plus gRPC-Web; TLS is not supported for gRPC-Web. The listed IDL and codec is Protocol Buffers 3, and the compressor is GZIP. For ordinary gRPC connections, the project documents secure TLS connections with the --tls option. Installation options include GitHub Releases, Homebrew, Docker, and Go, with Releases or Homebrew recommended for automatic updates. The documented Go installation requires Go v1.20 or later. The repeat option does not support client-streaming or bidirectional-streaming RPCs. Evans uses the MIT license.
grpcmock-go
grpcmock-go is a free, MIT-licensed Go module providing gRPC testing utilities. It helps tests mock gRPC servers, configure expectations for methods, headers, and payloads, and invoke client calls. Supported methods include unary, client-streaming, server-streaming, and bidirectional-streaming patterns. Request matching can use exact values, regular expressions, JSON, or custom matchers. Mock responses may return payloads, errors, or custom-handler results, and streaming client invocations can use custom handlers. Services can be registered from generated Go code, service instances, or individual methods when generated code is unavailable. The project recommends MockServerWithBufConn for in-memory application testing, with examples using bufconn listeners and context dialers. Installation uses `go get go.nhat.io/grpcmock`, and Go 1.25 or later is required. GitHub lists v0.34.0, released December 12, 2025, as the latest release. The Open-source Go module plan costs nothing.