CATEGORY
Development tools::Testing 2,431 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
static_assertionsCompile-time assertions to ensure that invariants are met.429,509,865MIT OR Apache-2.0
proptestHypothesis-like property-based testing and shrinking.157,362,586MIT OR Apache-2.0
mockallA powerful mock object library for Rust.150,367,095MIT OR Apache-2.0
mockall_deriveProcedural macros for Mockall149,935,134MIT OR Apache-2.0
rusty-forkCross-platform library for running Rust tests in sub-processes using a
fork-like interface.136,917,275MIT/Apache-2.0
arbitraryThe trait for generating structured data from unstructured data133,476,003MIT OR Apache-2.0
serial_testAllows for the creation of serialised Rust tests131,278,678MIT
serial_test_deriveHelper crate for serial_test129,712,745MIT
rstestRust fixture based test framework. It use procedural macro
to implement fixtures and table based tests.103,601,363MIT OR Apache-2.0
derive_arbitraryDerives arbitrary traits98,592,700MIT OR Apache-2.0
rstest_macrosRust fixture based test framework. It use procedural macro
to implement fixtures and table based tests.97,373,271MIT OR Apache-2.0
tokio-testTesting utilities for Tokio- and futures-based code83,544,775MIT
instaA snapshot testing library for Rust82,219,054Apache-2.0
assert_cmdTest CLI Applications.72,537,034MIT OR Apache-2.0
quickcheckAutomatic property based testing with shrinking.61,370,034Unlicense OR MIT
test-logA replacement of the #[test] attribute that initializes logging and/or
tracing infrastructure before running tests.59,940,181Apache-2.0 OR MIT
trybuildTest harness for ui tests of compiler diagnostics57,007,241MIT OR Apache-2.0
test-caseProvides #[test_case(...)] procedural macro attribute for generating parametrized test cases easily55,589,110MIT
test-case-macrosProvides #[test_case(...)] procedural macro attribute for generating parametrized test cases easily50,978,439MIT
mockitoHTTP mocking for Rust.50,519,125MIT
is_ciSuper lightweight CI environment checker. Just tells you if you're in CI or not without much fuss.46,198,424ISC
test-case-coreProvides core functionality for parsing #[test_case(...)] procedural macro attribute for generating parametrized test cases easily42,594,373MIT
differenceA Rust text diffing and assertion library.40,241,253MIT
serde_testToken De/Serializer for testing De/Serialize implementations36,221,713MIT OR Apache-2.0
tracing-testHelper functions and macros that allow for easier testing of crates that use `tracing`.33,991,190MIT
tracing-test-macroA procedural macro that allow for easier testing of crates that use `tracing`.
Internal crate, should only be used through the…33,772,059MIT
expect-testMinimalistic snapshot testing library32,628,952MIT OR Apache-2.0
testcontainersA library for integration-testing against docker containers from within Rust.32,343,823MIT OR Apache-2.0
libtest-mimicWrite your own test harness that looks and behaves like the built-in test harness used by `rustc --test`27,705,653MIT/Apache-2.0
httpmockHTTP mocking library for Rust25,945,105MIT
proptest-deriveCustom-derive for the Arbitrary trait of proptest.22,170,049MIT OR Apache-2.0
static_assertions_nextCompile-time assertions to ensure that invariants are met.21,840,861MIT OR Apache-2.0
failFail points for rust.18,820,674Apache-2.0
interpolate_nameSimple procedural macro attribute for repetitive tests18,337,088MIT
assert_fsFilesystem fixtures and assertions for testing.17,385,160MIT OR Apache-2.0
cucumberCucumber testing framework for Rust, with async support. Fully native, no external test runners or dependencies.16,024,303MIT OR Apache-2.0
cucumber-codegenCode generation for `cucumber` crate.15,997,735MIT OR Apache-2.0
testcontainers-modulesCommunity maintained modules for Testcontainers for Rust15,996,453MIT
temp-envSet environment variables temporarily.15,267,665MIT OR Apache-2.0
skepticTest your Rust markdown documentation via Cargo13,881,243MIT/Apache-2.0
roffROFF (man page format) generation library13,711,749MIT OR Apache-2.0
mockall_doubleTest double adapter for Mockall12,684,408MIT/Apache-2.0
rstest_reuseReuse rstest attributes: create a set of tests and apply it
to every scenario you want to test.11,807,932MIT OR Apache-2.0
axum-testEasy E2E testing for Axum11,725,812MIT
cargo-nextestA next-generation test runner for Rust.11,556,890Apache-2.0 OR MIT
codspeedCore instrumentation library for CodSpeed11,333,087MIT OR Apache-2.0
snapboxSnapshot testing toolbox10,258,002MIT OR Apache-2.0
snapbox-macrosSnapshot testing toolbox9,977,506MIT OR Apache-2.0
testing_tableAn easy to use library for pretty print tables of Rust `struct`s and `enum`s.9,833,947MIT
ntest_timeoutTimeout attribute for the ntest framework.9,558,053MIT
ntestTesting framework for rust which enhances the built-in library with some useful features.9,366,202MIT
ntest_test_casesTest cases for ntest framework.9,356,281MIT
malachite-baseA collection of utilities, including new arithmetic traits and iterators that generate all values of a type.8,358,969LGPL-3.0-only
dir-diffDo two directories have different contents?8,336,254MIT OR Apache-2.0
temp-dirSimple temporary directory with cleanup7,639,099Apache-2.0
honggfuzzFuzz your Rust code with Google-developped Honggfuzz !7,469,706MIT/Apache-2.0/Unlicense/WTFPL
googletestA rich assertion and matcher library inspired by GoogleTest for C++7,227,541Apache-2.0
googletest_macroProcedural macros for GoogleTest Rust7,150,652Apache-2.0
codspeed-criterion-compatCriterion.rs compatibility layer for CodSpeed6,941,183MIT OR Apache-2.0
cargo-llvm-covCargo subcommand to easily use LLVM source-based code coverage (-C instrument-coverage).6,736,565Apache-2.0 OR MIT
nextest-metadataStructured access to nextest machine-readable output.6,712,138MIT OR Apache-2.0
nextest-runnerCore runner logic for cargo nextest.6,577,584MIT OR Apache-2.0
test-contextA library for providing custom setup/teardown for Rust tests without needing a test harness6,466,001MIT
nextest-filteringFiltering DSL for cargo-nextest6,368,236MIT OR Apache-2.0
asyncsasync runtime agnostic facilities5,933,706Apache-2.0
ci_infoProvides current CI environment information.5,879,631Apache-2.0
embedded-hal-mockA collection of mocked devices that implement the embedded-hal traits5,467,411MIT OR Apache-2.0
ntest_proc_macro_helperProvide helper functions for the procedural macros used in ntest.5,434,090MIT
parameterizedProcedural macro which brings a compact parameterized testing implementation to Rust (inspired by JUnit @ParameterizedTest)5,381,732MIT OR Apache-2.0
parameterized-macroAttribute macro crate for parameterized tests.5,380,114MIT OR Apache-2.0
trycmdSnapshot testing for a herd of CLI tests5,361,686MIT OR Apache-2.0
test-strategyProcedural macro to easily write higher-order strategies in proptest.4,753,766MIT OR Apache-2.0
shuttleA library for testing concurrent Rust code4,611,175Apache-2.0
codspeed-divan-compatDivan compatibility layer for CodSpeed4,202,698MIT OR Apache-2.0
codspeed-divan-compat-macrosMacros for the Divan compatibility layer for CodSpeed4,151,964MIT OR Apache-2.0
datatest-stableData-driven tests that work on stable Rust3,940,240MIT OR Apache-2.0
testing_loggerSupports writing tests to verify `log` crate calls3,861,047BSD-3-Clause
expect-json-macrosMacros for Expect Json3,850,433MIT
expect-jsonFor comparisons on JSON data3,836,430MIT
antithesis_sdkRust SDK for the Antithesis autonomous software testing platform.3,794,397MIT
cargo-fuzzA `cargo` subcommand for fuzzing with `libFuzzer`! Easy to use!3,730,683MIT OR Apache-2.0
fantocciniHigh-level API for programmatically interacting with web pages through WebDriver.3,533,137MIT OR Apache-2.0
cargo-makeRust task runner and build tool.3,530,053Apache-2.0
assert2assert!(...) and check!(...) macros inspired by Catch2, now with diffs!3,339,804BSD-2-Clause
wasm-smithA WebAssembly test case generator3,316,239Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
arbtestA minimalist property-based testing library based on arbitrary3,039,269MIT OR Apache-2.0
chromiumoxideLibrary for interacting with a chrome instance with the chrome devtools protocol3,024,305MIT OR Apache-2.0
claimsAdditional assertion macros for testing.2,985,846Apache-2.0 OR MIT
proptest-state-machineState machine based testing support for proptest.2,759,689MIT OR Apache-2.0
cargo2junitConverts cargo's json output (from stdin) to JUnit XML (to stdout)2,726,815MIT
mutantsDecorator attributes to be used with cargo-mutants2,653,961MIT
grcovRust tool to collect and aggregate code coverage data for multiple source files2,467,318MPL-2.0
tracing-mockUtilities for testing `tracing` and crates that uses it.2,449,906MIT
serde_assertTesting library for serde Serialize and Deserialize implementations.2,255,344MIT OR Apache-2.0
rusty-forkforkCross-platform library for running Rust tests in sub-processes using a
fork-like interface.2,230,875MIT/Apache-2.0
aliri_clockTiming utilities used by the `aliri` family of crates2,153,225MIT OR Apache-2.0
enigoCross-platform (Linux, Windows, macOS & BSD) library to simulate keyboard and mouse events2,046,159MIT
tracing-fluent-assertionsAn fluent assertions framework for tracing.1,778,980MIT
cargo-hackCargo subcommand to provide various options useful for testing and continuous integration.1,756,683Apache-2.0 OR MIT
thirtyfourThirtyfour is a Selenium / WebDriver library for Rust, for automated website UI testing.
Tested on Chrome and Firefox, but any…1,582,828MIT OR Apache-2.0
unwrapAn unwrap! and an unwrap_err! macro1,569,742MIT OR BSD-3-Clause
expectorateLibrary for comparing output to file contents with simple updating1,475,820Apache-2.0
colored-diffFormat the difference between two strings with ANSI colors1,463,167MIT OR Unlicense
test-env-logA replacement of the #[test] attribute that initializes logging and/or
tracing infrastructure before running tests.1,445,684Apache-2.0 OR MIT
assertablesAssertables: assert macros for better testing, debugging, quality assurance, and runtime reliability.1,314,774MIT OR Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only OR GPL-3.0-only
rusoto_mockAWS SDK for Rust - Request Mocking Helpers1,311,840MIT
iai-callgrindHigh-precision and consistent benchmarking framework/harness for Rust1,296,015Apache-2.0 OR MIT
test-traceA replacement of the #[test] attribute that initializes
tracing infrastructure before running tests.1,287,335Apache-2.0 OR MIT
generic-testsProcedural macro to define tests and benchmarks generically1,258,212MIT OR Apache-2.0
iai-callgrind-runnerBinary package needed by the iai-callgrind library1,255,187Apache-2.0 OR MIT
implsDetermine if a type implements a logical trait expression.1,218,298MIT OR Apache-2.0
proptest-macroProcedural macros for the proptest crate1,200,447MIT OR Apache-2.0
dinghy-testCross-compilation made easier - see main crate cargo-dinghy1,175,088MIT/Apache-2.0
cargo-codspeedCargo extension to build & run your codspeed benchmarks1,168,088MIT OR Apache-2.0
iai-callgrind-macrosProc macros for iai-callgrind, a high-precision and consistent benchmarking framework/harness for Rust1,160,058Apache-2.0 OR MIT
assert_unorderedA direct replacement for `assert_eq` for unordered collections1,154,590MIT OR Apache-2.0
temp-fileSimple temporary file with cleanup1,144,380Apache-2.0
thirtyfour-macrosThirtyfour is a Selenium / WebDriver library for Rust, for automated website UI testing.1,111,412MIT OR Apache-2.0
bitcoindUtility to run a regtest bitcoind process, useful in integration testing environments1,024,978MIT
mocktailHTTP & gRPC server mocking for Rust1,015,635Apache-2.0
spider_chromeDEPRECATED: This crate has been renamed to `chromey`. Please update your Cargo.toml.1,015,342MIT OR Apache-2.0
temp_testdirLittle crate to use temp directory in crate. You can chose
if delete it after use or not to debugging purpose.998,191MIT/Apache-2.0
anarchist-readable-name-generator-libGenerate a readable name from something with famous anarchist writers980,067CC0-1.0
yareLean parameterized test case library for Rust 🚀965,234MIT OR Apache-2.0
yare-macroAttribute macro crate for the Yare parameterized tests library.961,067MIT OR Apache-2.0
testresultProvides TestResult type for concise and precise test failures947,510MIT OR Apache-2.0
tryfnFile-driven snapshot testing for a function833,526MIT OR Apache-2.0
hamcrest2A port of the Hamcrest testing library. Fork of original
hamcrest-rust (which is unmaintained) with extra matchers, better docs…810,422MIT/Apache-2.0
dinghy-buildCross-compilation made easier - helpers for build.rs scripts785,612MIT/Apache-2.0
fail-parallelFail points for rust. A fork that supports parallel test execution.747,089Apache-2.0
assert_cliTest CLI Applications.726,833MIT OR Apache-2.0
crabgrindRust bindings to "Valgrind Client Request" interface724,113MIT
claimAssertion macros688,834Apache-2.0 OR MIT
mutatis`mutatis` is a library for writing custom, structure-aware test-case mutators for fuzzers in Rust.671,408MIT OR Apache-2.0
partial-ioHelpers to test partial, interrupted and would-block I/O operations, with support for property-based testing through proptest and…658,646MIT
kittestAutomated GUI testing using AccessKit634,497MIT OR Apache-2.0
thirtyfour_syncThirtyfour is a Selenium / WebDriver library for Rust, for automated website UI testing.
This crate is the synchronous version…632,231MIT OR Apache-2.0
electrsdUtility to run a regtest electrs process, useful in integration testing environment627,636MIT
rdevListen and send keyboard and mouse events on Windows, Linux and MacOS.627,034MIT
expectrlA tool for automating terminal applications in Unix like Don libes expect564,169MIT
codspeed-bencher-compatBencher compatibility layer for CodSpeed548,124MIT OR Apache-2.0
filesystemReal, fake, and mock implementations of file system operations529,123MIT
egui_kittestTesting library for egui based on kittest and AccessKit504,048MIT OR Apache-2.0
const_fn_assertAssertions for const functions.480,166MIT
failspotA testing library that makes it easy(ish) to add intentional errors to a program476,295MIT
mocktopusMocking framework for Rust438,915MIT
axum-test-helperExtra utilities for axum436,202MIT
testdirSemi-persistent, scoped test directories433,291MIT OR Apache-2.0
embedded-testA test harness and runner for embedded devices431,598MIT OR Apache-2.0
passtpasst is a cli tool and library to generate good-enough random passwords421,211MIT OR Apache-2.0
cargo-mutantsInject bugs and see if your tests catch them410,981MIT
corepc-nodeUtility to run a regtest bitcoind process, useful in integration testing environments404,886MIT
pocket-icPocketIC: A Canister Smart Contract Testing Platform399,824Apache-2.0
expectestCrate provides matchers and matcher functions for unit testing.398,566MIT OR Apache-2.0
futures_ringbufMock Type implementing AsyncRead/AsyncWrite for testing and examples.395,160Unlicense
hamcrestA port of the Hamcrest testing library395,087MIT/Apache-2.0
gungraunHigh-precision, one-shot and consistent benchmarking framework/harness for Rust. All Valgrind tools at your fingertips.372,322Apache-2.0 OR MIT
galvanic-testA testing framework for setting up and tearing up test fixtures/environments with support for parameterised test cases.
This…370,793Apache-2.0
test-harnessa little test macro to wrap your tests with an arbitrary setup/teardown function369,735MIT OR Apache-2.0
gungraun-runnerBinary package needed by the Gungraun library. A high-precision, one-shot and consistent benchmarking framework/harness for Rust.367,033Apache-2.0 OR MIT
gungraun-macrosProc macros for Gungraun: A high-precision, one-shot and consistent benchmarking framework/harness for Rust.366,970Apache-2.0 OR MIT
assertorFluent assertion library with readable failure messages.362,126Apache-2.0
inline-cWrite and execute C code inside Rust361,627BSD-3-Clause
wasm-shrinkA WebAssembly test case shrinker360,347Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
inline-c-macroThe macros for the `inline-c` crate, that allows to write and execute C code inside Rust358,004BSD-3-Clause
tracing-captureCapturing tracing spans and events, e.g. for testing352,118MIT OR Apache-2.0
ensure-covA simple Rust crate designed to help ensure test coverage in your projects by providing functions to track and assert code…348,746MIT OR Apache-2.0
dearbitraryThe trait for generating unstructured data from structured data347,842MIT
derive_dearbitraryDerives dearbitrary traits345,867MIT/Apache-2.0
rspecWrite Rspec-like tests with stable rust342,451MPL-2.0
test-tagThe #[tag] attribute for convenient tagging/grouping of #[test] tests.332,440Apache-2.0 OR MIT
test-binaryManage and build extra binaries for integration tests as regular Rust crates.318,376MIT
dockertestA library to control docker containers when running your integration tests.302,653MIT
demonstrateDeclarative testing framework297,517MIT
chromeyConcurrent chrome devtools protocol automation library for Rust294,498MIT OR Apache-2.0
toml-test-dataTOML test cases293,282MIT OR Apache-2.0
quickcheck_deriveDerives quickcheck traits293,013MIT/Apache-2.0
speculateAn RSpec inspired minimal testing framework for Rust.291,410MIT
toml-testVerify Rust TOML parsers285,555MIT OR Apache-2.0
toml-test-harnessCargo test harness for verifying TOML parsers275,780MIT OR Apache-2.0
assertThe package provides assertions for testing.270,637Apache-2.0/MIT
standard_testA set of tests checking the properties of your impls of std traits263,143MITNFA
libaflSlot your own fuzzers together and extend their features using Rust247,056MIT OR Apache-2.0
coverage-helperHelper for <https://github.com/taiki-e/cargo-llvm-cov/issues/123>. (deprecated)242,953Apache-2.0 OR MIT
libafl_deriveDerive proc-macro crate for LibAFL234,807MIT OR Apache-2.0
factoriA factory library for Rust, inspired by FactoryBot. 🤖232,323MIT
fixtminimum viable fixtures229,833Apache-2.0
factori-implYou shouldn't use this crate directly. It's internal to factori.227,011MIT
schemaAccess the schema for a Rust item217,412Apache-2.0
sequential-testAllows for the creation of sequential Rust tests.211,514Apache-2.0
httpc-testMinimalistic HTTP Client Test Utilities205,258MIT OR Apache-2.0
schema-derivederive macro for the schema crate204,920Apache-2.0
trybuild2Test harness for ui tests of compiler diagnostics (with support for inline tests)203,758MIT OR Apache-2.0
goldieSimple golden file testing200,884MIT OR Apache-2.0
test_dirEasy creation of temporary file structure for test purpose.194,699MIT
contrafactA trait for highly composable constraints ("facts") which can be used both to verify data and to generate arbitrary data within…193,358MIT
alloc_counterCount allocations, reallocations, deallocations. Allow, deny, or forbid allocations on an expression or function basis.192,379MIT OR Apache-2.0
test-casingParameterized test cases and test decorators189,355MIT OR Apache-2.0
test-casing-macroProcedural macro for `test-casing`189,245MIT OR Apache-2.0
assert-panicAssert that a panic happens, and optionally what (kind of) panic happens186,958MIT OR Apache-2.0