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.
