Testing in rust: are there any useful crates, macros etc that you use to make this easier and less verbose?

40 points cant-find-user-name

Coming from pytest, which has a lot of support for everything under the sun, so bear with me if what I'm asking is common knowledge.

The big thing I need is test setup and teardown. I have found a crate called test\_context that provides a good macro to do it. But at function level. Is there a way to do this at module level? Or global level? I need to do clean up using async code, so there's that too.

Parameterization of tests and test fixtures. I have found a crate called rstest that does this. Unfortunately it doesn't play well with test\_context crate based on GitHub issues. What do you guys use for this?

In general the provided testing tools are good enough for unit testing, but I am not sure how big frameworks and codebases have sane test code without fixtures/standard teardown setup pieces.

Thanks for the help.