一般社団法人 全国個人事業主支援協会

COLUMN コラム

Rustにはデフォルトで自動テストツールがcargoに搭載されている。
ベーシックなテスト機能が一通りそろっているので、これらでガリガリテスト書いていけばよいと思う。
基本的には以下のコマンドで実行する。

 

cargo test

 

関数へ#[test]で注釈することで、テスト関数へと変更することが出来る。

 

#[test]
fn hoge() {
...
}

 

アサーションマクロを使用し結果を確認することが出来る。

 

assert!(true); // true チェック
assert_eq!(10 - 1, 9); // 一致
assert_ne!(10 - 9, 9); // 不一致

 

ただし、比較対象の値にはPartialEqとDebugトレイトを実装している必要があるが、基本的には定義時に#[derive(PartialEq, Debug)]を注釈すれば問題なし。
panic!マクロを用いてプログラムを異常終了させるテストを行う場合、テスト関数へさらに以下の注釈を追加する。
注釈内にexpectedをさらに追加することでpanic!マクロのメッセージのチェックも行える。

 

#[test]
#[should_panic(expected = "Panic !!!!!!!")]
fn hoge() {
    panic!("Panic !!!!!!!");
}

 

除外注釈を追加するとテストを除外することが出来る。

 

#[test]
#[ignore]
fn hoge() {
...
}
The following two tabs change content below.

WATANABE REN

千葉県在住のエンジニアです。最近はPythonやってます。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア