54 lines
1.1 KiB
Rust
54 lines
1.1 KiB
Rust
/*!
|
|
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.
|
|
*/
|
|
|
|
#[cfg_attr(test, macro_use)]
|
|
extern crate log;
|
|
|
|
fn main() {}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
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);
|
|
}
|
|
}
|