# Testaun Very minimalist procedural macro to help with tests, when you have to run some piece of code right **before** and **after** the actual test. You know, some sort of **setup** and **teardown** kind of thing. I wrote it with educational purpose as I'm exploring Rust's [procedural macros](https://doc.rust-lang.org/reference/procedural-macros.html) feature. But to be honest it kinda works and I may get to use it on [Moy Sekret](https://github.com/leandrosilva/moy-sekret). Let's see. ## How To It is pretty straightforward and there is a standalone test that shows it plain and simple. // Import the damn crate // extern crate testaun; use testaun::testaun_case; // Those functions are mandatory to be able to use #[testaun]. You'll see an // error if they're not provided in the current scope. // fn testaun_before() { println!("[BEFORE]"); } fn testaun_after() { println!("[AFTER]"); } // Try it out just like below in order to see [BEFORE] and [AFTER] printed out: // $ cargo test -- --nocapture // #[test] #[testaun_case] fn should_work_fine() { assert!(1 == 1, "oh damn! it should be the other way around"); } #[test] fn should_work_as_normal() { assert_eq!(1, 1); } So you can use `#[testaun]` or not. If you go ahead use it, you must provide two functions `testaun_before` and `testaun_after`. And that's it. > What a testaun Joe? > Yeah. Big one, dude. ## Copyright Leandro Silva <>