다음 방법과 단위 테스트를 구현했습니다.
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의 최신 야간 사용). 제대로 작동해야합니까?