Home > Back-end >  How to print rust log output in tests
How to print rust log output in tests

Time:07-07

My application is using the tracing rust crate to create log output. How do I print these log messages when I'm running my tests?

CodePudding user response:

Usually, if you need to print the output inside the tests you use --nocapture flag with the cargo test command:

$ cargo test -- --nocapture

Can you test if it works in your case?

CodePudding user response:

You can use the tracing_test Rust crate for this. It works like this:

#[traced_test]
#[test]
fn plain_old_test() {
   ...
}

All you have to do is add the tracing_test to your list of dependencies and decorate your tests with the #[traced_test] macro.

This also works with tokio_macros tests, that are decorated with #[tokio::test].

Then, as @Yuri mentions, you need to run the tests with the --nocapture argument: cargo t --nocapture. This is only relevant if the test succeeds.

  • Related