1 unstable release

0.1.0 Oct 9, 2023

#1419 in Procedural macros

MIT license

11KB
140 lines

ADTEST

codecov

This crate allows you to easily create tests with setup and cleanup functions, like beforeEach and afterEach functions in jest, it offers this functionality for both async and non-async test.

To use simply add to your crate in lib.rs or main.rs

#[macro_use] extern crate adtest;

After that add #[adtest] to desired function

#[adtest]
fn complex_test(){
    println!("I like to test things");
}

If used solely it behaves as #[test] on non async function and on async functions as #[tokio::test]. But unlike those, #[adtest] allows you to add setup and clean up functions to run before/after your tests.

Example of test with setup

#[adtest(setup = setup_function)]
fn complex_test(){
    println!("I like to test things");
}

fn setup_function(){
    println!("I will do some setup things");
}

If your setup/cleanup function is async you must specify it with async keyword before test name:

#[adtest(
    setup = setup_function,
    cleanup = async cleanup_function
)]
fn complex_test(){
    println!("I like to test things");
}

fn setup_function(){
    println!("I will do some setup things");
}

async fn cleanup_function(){
    println!("I am async function")
}

Dependencies

~325–780KB
~19K SLoC