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.