Dev Study
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つの具体例で確認します。

公式ドキュメントで詳しく ↗