serial_test
allows for the creation of serialised Rust tests using the serial
attribute
e.g.
#[test]
#[serial]
fn test_serial_one() {
// Do things
}
#[test]
#[serial]
fn test_serial_another() {
// Do things
}
#[tokio::test]
#[serial]
async fn test_serial_another() {
// Do things asynchronously
}
Multiple tests with the serial
attribute are guaranteed to be executed in serial. Ordering of the tests is not guaranteed however.
We require at least Rust 1.39 for async/await support
Add to your Cargo.toml
[dev-dependencies]
serial_test = "*"
plus use serial_test::serial;
(for Rust 2018) or
#[macro_use]
extern crate serial_test;
for earlier versions.
You can then either add #[serial]
or #[serial(some_text)]
to tests as required.