NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #785 most downloaded on crates.io
Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.
Last release 1 months ago
06 Sep 2026
Release timing varies
gaps range from 6 weeks to 1.1 years
Nearly every release is documented
notes for 17 of 17 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
17 releases · first in 2022
One column per quarter.
Bump msrv to 1.85.0 both for rstest and rstest_reuse
rstest and rstest_reusefutures-util#[values(...)] entries can be used to override the generated matrixarg => [..] syntax and the new attribute form).core import. See #336.mut arguments failing to compile with #[trace]. See #345 thanks to @super-cooper.Fix Docs Full Changelog : v0.26.0...v0.26.1
docs: fix filemode examples by @lucascool12 in #301
async-std by @coriolinus in #311Full Changelog: v0.25.0...v0.26.0
#[files(...)] attribute now ignores matched directory paths by default.
See #306 thanks to @Obito-git.#[dirs] attribute, which can be used with #[files(...)] to explicitly include directory paths.
See #306 thanks to @Obito-git.#[test_attr] to define test attribute explicit and also enable the use of
#[macro_rules_attribute::apply(<macro>)]: naw also smol works. See
#303
#311
#315
thanks to @coriolinus.1.89.0-nightlyrstest expansion.
See #313#[files(...)] attribute now works reliably on Windows.Append generated test macro so next test macros are aware of it by @kezhuw in #291
include_str and include_bytes file input behaviour by @lucascool12 in #297Full Changelog: v0.24.0...v0.25.0
#[mode = ...] attribute to be used with the #[files(...)] attribute to change the way
the files get passed to the test.
(see #295 thanks to @lucascool12)refactor: use core instead of std by @rnbguy in #283
Upgrade to async-std v1.13 by @jayvdb in #274
Destructuring input data
Destructuring input data
#[ignore] attribute to ignore test parameters during fixtures resolution/injection. See #228 for detailsUse crate-name feature to enable the crate rename support (enabled by default)
Use crate-name feature to enable the crate rename support (enabled by default)
crate-name enabled by default to opt-in crate rename
support. See #258Introduce #[by_ref] and add support for import rstest with another name.
Introduce #[by_ref] and add support for import rstest with another name.
#[by_ref] attribute to take get a local lifetime for test arguments.
See #241 for more details. Thanks to
@narpfel for suggesting it and useful discussions.rstest with another name. See #221Defined rust-version for each crate (see #227)
Admit parent folders in files glob path
Admit parent folders in files glob path
#[files] accept also parent folders (see #205
for more details).### Fixed - Wrong doc test - Docs
Add support for RSTEST_TIMEOUT environment variable to define a max timeout for each function (see #190 for details). Thanks to @aviramha for idea and
RSTEST_TIMEOUT environment variable to define a max timeout
for each function (see #190 for details).
Thanks to @aviramha for idea and PR#[files("glob path")] attribute to generate tests based on files that
satisfy the given glob path (see #163 for details).syn 2.0 and edition 2021 : minimal Rust version now is 1.56.0
both for rstest and rstest_reuse (see #187)#[awt] function attrs (See
#189)Add #[awt] and #[future(awt)] to .await future input
#[awt] and #[future(awt)] to .await future inputShow TEST START banner only when trace some argument: See #158 for details.
TEST START banner only when trace some argument: See #158 for details.Feature gated async timeout via async-timeout feature [see #148]
async-timeout feature [see #148]async-std build dependency [see #148]Split rstest in separated crates for macro and libs (See #32)
#[timeout(duration)] test implementation for both sync and async tests (See #136)Your coding agent can read these notes before it upgrades. Set up the MCP server →