joe*_*son 7 testing logging rust rust-cargo
我学过:
cargo test -- --nocapture它告诉 Cargo 显示输出而不是隐藏输出;我感兴趣的是看到成功测试的输出,而不仅仅是失败的测试。env_loggercrate 允许使用环境变量来设置日志级别。我正在寻找任何类似的方法,最好是任何官方参考指南,以展示实现这一目标的好方法。
这是一种对我有用的解决方案。
Cargo.toml 依赖项:
env_logger = "*"
Run Code Online (Sandbox Code Playgroud)
演示源码:
use log::*;
pub fn foo() -> bool {
info!("hello world");
true
}
#[cfg(test)]
mod tests {
use super::*;
use env_logger;
#[test]
fn test_foo() {
env_logger::init();
assert!(foo());
}
}
Run Code Online (Sandbox Code Playgroud)
命令:
RUST_LOG=info cargo test -- --nocapture
Run Code Online (Sandbox Code Playgroud)