S-JIS[2024-10-09] 変更履歴

Rust assert!系マクロ

Rustマクロのassert!系マクロのメモ。


概要

assert!系マクロは、値が想定通りかどうかを検証するマクロ
想定通りでない場合、パニックを発生させる。

マクロ名 説明 Java類似
assert! trueであることを検証する。 let check = true;
assert!(check,"check fail");
assert
assertTrue()
assert_eq! 値が等しいことを検証する。 let actual = 1 + 2;
let expected = 3;
assert_eq!(expected, actual);
assertEquals()
assert_ne! 値が一致しないことを検証する。 let value = 1;
assert_ne!(0, value);
assertNotEquals()
debug_assert!
debug_assert_eq!
debug_assert_ne!
assert!等と同じだが、リリースビルドではチェックされない。
(リリースビルドでは最適化によって消える。
つまりcargo run --releaseでは処理されない)
   

assert_eq!()やassert_ne!()において、左の引数と右の引数のどちらが期待値でどちらが実行された値かというのは、Rustでは特に決まりは無いらしい。
(JavaのJUnitでは、左側が期待値)


マクロへ戻る / Rustへ戻る / 技術メモへ戻る
メールの送信先:ひしだま