我想使用一个实现std::io::Write
的 struct 来输出内容.
我使用std::io::stdout()
进行测试,但即使缓冲区写入成功,我也看不到输出内容.
#[test]
fn show_test_2() {
use std::io::Write;
let mut buffer = std::io::stdout();
match buffer.write(&"-----------------------".as_bytes()) {
Ok(_) => println!("Buffer write success"),
Err(_) => println!("Buffer write failed"),
};
println!("+++++++++++++++++++++++");
assert!(false);
}
跑cargo test --lib
米,输出是:
test tests::show_test_2 ... FAILED
failures:
---- tests::show_test_2 stdout ----
Buffer write success
+++++++++++++++++++++++
thread 'tests::show_test_2' panicked at 'assertion failed: false', src\lib.rs:621:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
我的问题是:
- 为什么"-"不在测试中::show_test_2标准输出?
- 做这件事的正确方式是什么?