【あさーしょん】
アサーション とは?
💡 「こうなってるはずだよね?」をコードで書く安心チェック
📌 このページのポイント
アサーションって何に使うの?
プログラムの中で「ここではこの条件が成り立つはず」と宣言するんだよ。たとえば「この変数は絶対に0以上のはず」って書いておくと、もし負の値になったら即エラーになるんだ
if文でチェックするのとは違うの?
if文は「もし〜なら」という分岐だけど、アサーションは「絶対にこうなっているはず」という前提の表明なんだよ。失敗したら「バグがある」という意味だから、普通のエラー処理とは目的が違うんだ
テストでもよく使うって聞いたんだけど?
そうだよ!単体テストでは assert(expected == actual) という形で「期待する値と実際の値が一致するか」をチェックするのが基本パターンなんだ。assertEquals、assertTrue、assertNullなど色々な種類があるよ
アサーションが失敗したらどうなるの?
AssertionErrorという例外が発生して、プログラムが止まるんだよ。テストなら「このテストは失敗」と表示される。本番コードでは、言語によってはアサーションを無効化できる仕組みもあるんだ
無効化できるなら、本番では使わないほうがいいの?
まとめ:ざっくりこれだけ覚えればOK!
「アサーション」って出てきたら「この条件が成り立つはず!と宣言するコードの安全チェック」と思えればだいたいOK!
📖 おまけ:英語の意味
「Assertion」 = 表明・主張
💬 英語の assert は「断言する」という意味。「この時点でこの値は絶対に正しい!」と断言するニュアンスから来ているんだよ