48
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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?

48
22
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
48
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?