#[test]Expand description
A procedural macro for the test attribute.
The attribute can be used to define a test that has the env_logger
and/or tracing crates initialized (depending on the features used).
§Example
Specify the attribute on a per-test basis:
#[test_log::test]
fn it_works() {
info!("Checking whether it still works...");
assert_eq!(2 + 2, 4);
info!("Looks good!");
}It can be very convenient to convert over all tests by overriding
the #[test] attribute on a per-module basis:
use test_log::test;
#[test]
fn it_still_works() {
// ...
}The crate also supports stacking with other #[test] attributes.
For example, you can stack
#[tokio::test]
on top of this crate’s #[test] attribute and test async
functionality this way:
#[tokio::test]
#[test_log::test]
async fn it_still_works() {
// ...
}Note that stacking #[test] attributes this way requires some minimal
level of cooperation from the other crate to work properly (see
#46 for details), but as
a fallback a wrapping style can be used as well:
use test_log::test;
#[test(tokio::test)]
async fn it_also_works() {
// ...
}