serial_test
allows for the creation of serialised Rust tests using the serial
attribute
e.g.
```rust
fn testserialone() { // Do things }
fn testserialanother() { // Do things }
async fn testserialanother() {
// Do things asynchronously
}
``
Multiple tests with the
serialattribute are guaranteed to be executed in serial. Ordering of the tests is not guaranteed however.
Tests without the
serialattribute may run at any time, including in parallel to tests marked as
serial. Note that if you're using
an async test reactor attribute (e.g.
tokio::testor
actix_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.
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
extern crate serial_test; ``` for earlier versions.
You can then either add #[serial]
or #[serial(some_text)]
to tests as required.