Ich habe die folgende Methode und den folgenden Komponententest implementiert:
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);
}
Ich führe den Unit-Test folgendermaßen aus:
rustc --test app.rs; ./app
Ich könnte das auch mit laufen lassen
cargo test
Ich erhalte eine Nachricht zurück, dass der Test bestanden wurde, der println!jedoch nie auf dem Bildschirm angezeigt wird. Warum nicht?
--nocaptureOption an übergeben wurdecargo test, aber die Fracht erkennt diese Flagge für mich nicht (unter Verwendung der neuesten Nacht von rustup.sh). Bist du sicher, dass es funktionieren sollte?