← Rust コース
37. #[test] と assert! — テストの書き方
Rust ではテストをコードのすぐ隣に書きます。#[cfg(test)] を付けた mod tests の中に #[test] を付けた関数を書き、assert!(条件) で検証します。条件が偽だと panic し、そのテストは失敗扱いになります。
テストは cargo test コマンドで実行され、#[test] の付いた関数が1つずつ走って成功・失敗が報告されます。このページの実行環境は main を動かすため、例では同じ検証を main からも呼んで動きを確かめています。
#[cfg(test)] は「テスト実行のときだけこのモジュールをコンパイルする」という指定で、テストコードが製品のバイナリに混ざるのを防ぎます。use super::*; は親(ファイル本体)の関数をテストモジュールに取り込むための定番の1行です。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Rust
サンプルコードで身につける(5本) →
学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。
公式ドキュメントで詳しく ↗