TL;DR — Quick Summary

cargo-nextest is a next-gen Rust test runner. 60% faster than cargo test with parallel execution, retries, JUnit XML output, and per-test time limits.

cargo-nextest runs Rust tests faster. Process-per-test parallelism, retries, JUnit output — CI/CD ready.

Installation

# Cargo
cargo install cargo-nextest

# Pre-built (recommended for CI)
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ~/.cargo/bin

Usage

# Run all tests
cargo nextest run

# Filter by test name
cargo nextest run my_test

# Filter by package
cargo nextest run -p my-crate

# Retries for flaky tests
cargo nextest run --retries 2

# Per-test time limit
cargo nextest run --test-timeout 60s

# Parallel threads
cargo nextest run --test-threads 8

# JUnit XML output (CI/CD)
cargo nextest run --message-format junit-xml > results.xml

# List tests (no run)
cargo nextest list

# Only failed tests
cargo nextest run --run-ignored only

# Profile
cargo nextest run --profile ci

Configuration

# .config/nextest.toml
[profile.default]
retries = 0
test-threads = "num-cpus"

[profile.ci]
retries = 2
fail-fast = false
test-timeout = "120s"

Summary

  • cargo-nextest runs each test as a separate process for true parallelism
  • Up to 60% faster than cargo test on multi-core machines
  • Retries for flaky tests, per-test timeouts
  • JUnit XML output for CI/CD integration
  • Profile-based configuration for dev vs CI environments