Skip to content

gripmock/grpctestify-rust

Repository files navigation

gRPC Testify (Rust)

Release Documentation VS Code Extension

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, junit, allure
  • Extra tools for developer workflows: check, fmt, inspect, explain, reflect, lsp

Requirements

  • No external runtime dependencies for CLI execution
  • Docker is optional (for integration examples)

Installation

Homebrew (macOS and Linux)

brew tap gripmock/tap
brew install gripmock/tap/grpctestify

Cargo

cargo install grpctestify

Prebuilt binaries (GitHub Releases)

  • Download from GitHub Releases
  • Available for macOS, Linux, and Windows (amd64/arm64)

Verify installation:

grpctestify --version

Quick Start

  1. Create hello.gctf:
--- ADDRESS ---
localhost:4770

--- ENDPOINT ---
hello.HelloService/SayHello

--- REQUEST ---
{
  "name": "World"
}

--- ASSERTS ---
.message == "Hello, World!"
  1. Run test:
grpctestify hello.gctf

Common Commands

# Run tests
grpctestify tests/

# Parallel run
grpctestify tests/ --parallel 4

# JSON report
grpctestify tests/ --log-format json --log-output results.json

# JUnit report
grpctestify tests/ --log-format junit --log-output junit.xml

# Validate syntax
grpctestify check tests/**/*.gctf

# Format files
grpctestify fmt -w tests/**/*.gctf

Contributing

Issues and PRs are welcome: GitHub Issues

License

MIT