#setup #teardown #before-each #after-each #testing

macro test-helpers

Jest style setup and teardown test helper macros

1 unstable release

0.2.3 Mar 23, 2023

#8 in #teardown

Download history 77/week @ 2024-11-13 78/week @ 2024-11-20 110/week @ 2024-11-27 110/week @ 2024-12-04 57/week @ 2024-12-11 29/week @ 2024-12-18 9/week @ 2025-01-01 27/week @ 2025-01-08 29/week @ 2025-01-15 39/week @ 2025-01-22 7/week @ 2025-01-29 14/week @ 2025-02-12 34/week @ 2025-02-19 48/week @ 2025-02-26

98 downloads per month

MIT license

25KB
354 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

~1.5MB
~39K SLoC