| /*! |
| Using `env_logger` in tests. |
| |
| Log events will be captured by `cargo` and only printed if the test fails. |
| You can run this example by calling: |
| |
| ```text |
| cargo test --example in_tests |
| ``` |
| |
| You should see the `it_does_not_work` test fail and include its log output. |
| */ |
| |
| fn main() {} |
| |
| #[cfg(test)] |
| mod tests { |
| use log::debug; |
| |
| fn init_logger() { |
| let _ = env_logger::builder() |
| // Include all events in tests |
| .filter_level(log::LevelFilter::max()) |
| // Ensure events are captured by `cargo test` |
| .is_test(true) |
| // Ignore errors initializing the logger if tests race to configure it |
| .try_init(); |
| } |
| |
| #[test] |
| fn it_works() { |
| init_logger(); |
| |
| let a = 1; |
| let b = 2; |
| |
| debug!("checking whether {} + {} = 3", a, b); |
| |
| assert_eq!(3, a + b); |
| } |
| |
| #[test] |
| fn it_does_not_work() { |
| init_logger(); |
| |
| let a = 1; |
| let b = 2; |
| |
| debug!("checking whether {} + {} = 6", a, b); |
| |
| assert_eq!(6, a + b); |
| } |
| } |