assert!系マクロは、値が想定通りかどうかを検証するマクロ。
想定通りでない場合、パニックを発生させる。
マクロ名 | 説明 | 例 | Java類似 |
---|---|---|---|
assert! |
trueであることを検証する。 | let check = true; |
assert |
assert_eq! |
値が等しいことを検証する。 | let actual = 1 + 2; |
assertEquals() |
assert_ne! |
値が一致しないことを検証する。 | let value = 1; |
assertNotEquals() |
debug_assert!
debug_assert_ne! |
assert!等と同じだが、リリースビルドではチェックされない。 (リリースビルドでは最適化によって消える。 つまりcargo run --releaseでは処理されない) |
assert_eq!()やassert_ne!()において、左の引数と右の引数のどちらが期待値でどちらが実行された値かというのは、Rustでは特に決まりは無いらしい。
(JavaのJUnitでは、左側が期待値)