[英]Gradle: How to get output from test STDERR/STDOUT into console?
[英]What are ways to run Rust cargo test and have the test runner display any log output to the console stdout or stderr?
我學過:
cargo test -- --nocapture
告訴 Cargo 顯示 output 而不是隱藏 output; 我有興趣看到 output 成功的測試,而不僅僅是失敗的測試。env_logger
crate 允許使用環境變量來設置日志級別。我正在尋找任何類似的方法,理想情況下是任何顯示完成此操作的好方法的官方參考指南。
這是一個對我有用的解決方案。
Cargo.toml 依賴:
env_logger = "*"
演示源代碼:
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());
}
}
命令:
RUST_LOG=info cargo test -- --nocapture
Rust 一書展示了如何做到這一點。
該部分的相關部分:
如果我們還想看到通過測試的打印值,我們可以告訴 Rust 也顯示成功測試的 output --show-output。
cargo test -- --show-output
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.