为什么 println! 在 Rust 单元测试中不输出文本?
大家好!我刚开始学习 Rust,遇到了一个奇怪的问题。我写了一个简单的单元测试,测试一个将两个数相加的函数。我想在控制台输出结果以便调试,但测试中的 `println!` 什么也不输出。这是我的代码:
```rust
fn add(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
let result = add(2, 3);
println!("结果: {}", result); // 什么也不输出!
assert_eq!(result, 5);
}
}
```
我用 `cargo test` 运行测试,只看到 "running 1 test" 和 "test result: ok"。控制台没有任何输出。我甚至尝试在测试开头使用 `println!("Hello")`——同样没有输出。
我原本期望 `println!` 能像在普通程序中一样工作。也许是编译器的问题?或者我使用测试的方式不对?请告诉我如何在 Rust 测试中输出调试信息。提前谢谢!