1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
/*!
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]
#[ignore = "broken in debian"]
fn it_does_not_work() {
init_logger();
let a = 1;
let b = 2;
debug!("checking whether {} + {} = 6", a, b);
assert_eq!(6, a + b);
}
}
|