我已经实现了以下方法和单元测试:
use std::fs::File;
use std::path::Path;
use std::io::prelude::*;
fn read_file(path: &Path) {
let mut file = File::open(path).unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
println!("{}", contents);
}
#[test]
fn test_read_file() {
let path = &Path::new("/etc/hosts");
println!("{:?}", path);
read_file(path);
}
我以这种方式运行单元测试:
rustc --test app.rs; ./app
我也可以用
cargo test
我收到一条消息,说测试已通过,但println!
从未显示在屏幕上。为什么不?
--nocapture
选项传递给cargo test
,但是货物对我来说不识别此标志(使用rustup.sh的最新夜间报告)。您确定它应该工作吗?