serial_test

Version Downloads Docs MIT license Build Status MSRV: 1.39.0

serial_test allows for the creation of serialised Rust tests using the serial attribute e.g. ```rust

[test]

[serial]

fn testserialone() { // Do things }

[test]

[serial]

fn testserialanother() { // Do things }

[tokio::test]

[serial]

async fn testserialanother() { // Do things asynchronously } `` Multiple tests with theserialattribute are guaranteed to be executed in serial. Ordering of the tests is not guaranteed however. Tests without theserialattribute may run at any time, including in parallel to tests marked asserial. Note that if you're using an async test reactor attribute (e.g.tokio::testoractix_rt::test) then they should be listed *before*serial`, otherwise we don't get an async function and things break. There's now an error for this case to improve debugging.

Usage

We require at least Rust 1.39 for async/await support

Add to your Cargo.toml toml [dev-dependencies] serial_test = "*"

plus use serial_test::serial; (for Rust 2018) or ```rust

[macro_use]

extern crate serial_test; ``` for earlier versions.

You can then either add #[serial] or #[serial(some_text)] to tests as required.