← Rust コース
38. assert_eq! と Result を返すテスト
2つの値が等しいことを検証するには、assert!(a == b) より assert_eq!(a, b) を使います。失敗したとき左右の実際の値を表示してくれるため、何がどう違ったのかをすぐ特定できます。
テスト関数は Result<(), String> のような Result を返すこともできます。Ok(()) なら成功、Err なら失敗の扱いになり、テストの中で ? 演算子を使って失敗しうる処理を簡潔に書けるのが利点です。
assert_eq! の両辺は比較と表示ができる型である必要があります。自作の struct を比べたいときは #[derive(Debug, PartialEq)] を付けるのが定番ですが、まずは数値や文字列の比較から慣れていきましょう。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Rust
サンプルコードで身につける(5本) →
学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。
公式ドキュメントで詳しく ↗