テスト¶
はじめに¶
本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。
01. テスト¶
#[cfg(test)] と #[test]¶
#[cfg(test)] 属性を付けたモジュールは cargo test コマンドの実行時だけコンパイルされ、#[test] 属性を付けた関数がテストになる。
Rust では、テスト対象と同じファイルにテストを書き、use super::* で親モジュールの要素を取り込むことが多い。
// cargo test コマンドの実行時だけコンパイルする
#[cfg(test)]
mod tests {
// テスト対象である親モジュールの要素を全て取り込む
use super::*;
// この関数をテストとして実行する
#[test]
fn format_returns_empty_for_no_organizations() {
// 2 つの値が等しくなければテストを失敗させる
assert_eq!(format(&[]), "");
}
}