ฉันใช้วิธีและการทดสอบหน่วยต่อไปนี้แล้ว:
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) คุณแน่ใจหรือว่ามันควรจะทำงาน?