J'ai implémenté la méthode et le test unitaire suivants:
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);
}
Je lance le test unitaire de cette façon:
rustc --test app.rs; ./app
Je pourrais aussi faire ça avec
cargo test
Je reçois un message disant que le test a réussi, mais il println!
ne s'affiche jamais à l'écran. Pourquoi pas?
--nocapture
option àcargo test
, mais cargo ne reconnaît pas ce drapeau pour moi (en utilisant la dernière nuit de rustup.sh). Êtes-vous sûr que cela devrait fonctionner?