Tôi đã thực hiện phương pháp và kiểm tra đơn vị sau:
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);
}
Tôi chạy thử nghiệm đơn vị theo cách này:
rustc --test app.rs; ./app
Tôi cũng có thể chạy cái này với
cargo test
Tôi nhận được một tin nhắn nói rằng bài kiểm tra đã qua nhưng println!
nó không bao giờ được hiển thị trên màn hình. Tại sao không?
--nocapture
tùy chọn sangcargo test
, nhưng hàng hóa không nhận ra lá cờ này cho tôi (sử dụng hàng đêm mới nhất từ Rustup.sh). Bạn có chắc chắn nó nên hoạt động?