cargo test
を行う際は、println!("{:?}", hoge};
などを行った際に、標準出力には流れません。
この場合の対処方法として
use std::io::Write;
#[test]
fn test_escape() {
let a = "ab'cd
e'rf";
writeln!(&mut std::io::stderr(), "{}", a.escape()).unwrap();
}
このようにすることで、標準エラー出力を行う事ができます。
しかし、テストなのにこんなめんどくさいことしていられません。
その場合は下記のようにすることで標準出力をコンソールに流すことができます。
cargo test -- --nocapture
黒魔術感ありますが、一応これでできます!
参考:
stackoverflow: println! doesn't work in rust unit tests?