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?
--nocapture
Option 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?