Pythonのassert文でかんたんテスト

314, 2020-03-06

目次

assert文の使い方

Pythonには単純なテストに使えるassert文があります。

assertの1つ目の式にテストしたい条件式などを書きます。

assert True 

1つ目の条件式がTrueであればassertは何も発生させません。
条件式がFalseであればAssertionError例外を発生させます。

assert False
Traceback (most recent call last):
  File "sample.py", line 1, in <module>
    assert False
AssertionError

assertの1つ目の式のあとにカンマを付けて2つ目の式を書くと、その式の内容がAssertionErrorの第1引数に渡されます。

assert False, '失敗しました'
Traceback (most recent call last):
  File "sample.py", line 1, in <module>
    assert False, '失敗しました'
AssertionError: 失敗しました

これは↓のコードと等価です。

if not False:
    raise AssertionError('失敗しました')

__debug__変数による切り替え

assertの1つ目の式がFalseのとき、例外が発生しますが、これは組み込み変数__debug__Trueの時に発生します。
逆に組み込み変数__debug__Falseの時は例外は発生しません。
__debug__は通常はTrueになっています。

__debug__Falseにしたい時は実行時に-Oオプションを付けます。

$ python -O sample.py

ちなみに__debug__への代入などは不正な操作なので、やらないようにしましょう。
__debug__の評価はインタプリタの開始時に行われます。

投稿者名です。64字以内で入力してください。

必要な場合はEメールアドレスを入力してください(全体に公開されます)。

投稿する内容です。

スポンサーリンク

スポンサーリンク

スポンサーリンク

スポンサーリンク