gRPC Testify (Rust)
Native CLI for gRPC testing with .gctf files.
Documentation
Key Features
- Unary, client streaming, server streaming, and bidirectional streaming tests
- Assertions with built-in operators and plugin functions (
@header,@trailer,@uuid,@email, etc.) - Parallel execution, timeouts, coverage, snapshot mode (
--write) - Output formats:
console,json,yaml,junit,allure,html - Load/benchmark testing (
bench) with regression gating (bench-compare) - Web UI playground (
play) with proto reflection, saved requests, history, and environments - Extra tools for developer workflows:
check,fmt,inspect,explain,reflect,lsp,call,gen,grpcurl,list,index,query,health,scaffold
Requirements
- No external runtime dependencies for CLI execution
- Docker is optional (for integration examples)
Installation
Homebrew (macOS and Linux)
Cargo
Prebuilt binaries (GitHub Releases)
- Download from GitHub Releases
- Available for macOS, Linux, and Windows (amd64/arm64)
Verify installation:
Quick Start
- Create
hello.gctf:
localhost:4770
hello.HelloService/SayHello
{
"name": "World"
}
.message == "Hello, World!"
- Run test:
Common Commands
# Run tests
# Parallel run
# JSON report
# JUnit report
# Validate syntax (recurses into directories — no shell glob needed)
# Format files
# Scaffold a .gctf test from server reflection
# Load test with regression gate
# Launch the web UI playground
Contributing
Issues and PRs are welcome: GitHub Issues