#setup #teardown #test #after-each #before-each

macro test-env-helpers

Jest style setup and teardown test helper macros

4 releases

Uses new Rust 2021

0.2.2 Mar 22, 2022
0.2.1 Mar 9, 2022
0.2.0 Mar 9, 2022
0.1.0 Mar 8, 2022

#877 in Procedural macros

Download history 6/week @ 2022-06-13 10/week @ 2022-06-20 64/week @ 2022-06-27 91/week @ 2022-07-04 76/week @ 2022-07-11 160/week @ 2022-07-18 89/week @ 2022-07-25 244/week @ 2022-08-01 167/week @ 2022-08-08 160/week @ 2022-08-15 297/week @ 2022-08-22 230/week @ 2022-08-29 126/week @ 2022-09-05 136/week @ 2022-09-12 187/week @ 2022-09-19 163/week @ 2022-09-26

620 downloads per month
Used in pg_sync

MIT license

24KB
332 lines

Build Status Crates.io Documentation

Description

Jest style setup and teardown test helpers.

Currently implemented:

  • #[after_all]: Only valid on a mod. Requires a single function named after_all. Counts the number of functions with a test attribute applied and runs the body of the after_all function after all the tests have run.

  • #[after_each]: Only valid on a mod. Requires a single function named after_each. Copies the body contents of the after_each function into the end of the function body of any functions in the same mod that have a test attribute applied.

  • #[before_all]: Only valid on a mod. Requires a single function named before_all. Runs the contents of before_all exactly once before any tests have run.

  • #[before_each]: Only valid on a mod. Requires a single function named before_each. Copies the body contents of the before_each function into the beginning of the function body of any functions in the same mod that have test attribute applied.

    • N.B. A function with a test attribute applied is any function with an attribute with the word test in it. So, #[test], #[tokio::test], and #[test_case(blah)] will all count for the before/after hooks.
  • #[skip]: Valid on a mod or an individual test. Will skip the mod or test it is applied on.

To do:

  • #[only]: Not sure how to implement this one, tbh.

Dependencies

~220–630KB
~15K SLoC