LoginSignup
46
21

More than 5 years have passed since last update.

cargo test で 標準出力をコンソールに流す

Last updated at Posted at 2015-05-17

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?

46
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
21