Skip to main content

Crate fickle

Crate fickle 

Source
Expand description

§fickle

Handle fickle (flaky) tests in rust.

§Usage

The primary api is to use the fickle macro attribute like this:

#[test]
#[fickle]
fn flaky_test() {
    // your test here
}

By default, it will re-run your test 1 time (if the first time fails). If you want to allow more than 1 retry you can specify that with the retries argument.

#[test]
#[fickle(retries=3)]
fn flakier_test() {
    // your test here
}

There is also the option of using the Fickle struct (which is what the macro expands to under the hood). This would look something like this

#[test]
fn flaky_test() {
    let fickle = fickle::Fickle::default();
    let block: fn() -> () = || {
        // your test here
    };
    fickle.run(block).unwrap();
}

Structs§

Fickle
Retry a fickle test if it fails initially.

Traits§

Test
The types that can be passed to Fickle::run.

Attribute Macros§

fickle
Mark a test as fickle (AKA flaky).