LoginSignup
1
0

Python開発におけるテストの基本

Posted at

Python開発におけるテストの基本

テストは、コードが期待通りに動作することを確認し、バグを早期に発見するために用いられる。
Pythonでは、doctestpytestがよく使用されるテストフレームワークである。

doctest

doctestは、ドキュメント文字列(docstring)内の例を実行して、期待される出力と実際の出力を比較することでテストを行う。

doctestの使用例

def add(a, b):
  """
  二つの数値を加算する。

  >>> add(2, 3)
  5
  >>> add(-1, 1)
  0
  """
  return a + b

if __name__ == "__main__":
  import doctest
  doctest.testmod()

このコードでは、add関数のdocstring内にテストケースを記述しており、doctest.testmod()を実行すると、これらの例がテストとして実行される。

pytest

pytestは、より高度で柔軟なテストをサポートする外部ライブラリである。
pytestを使用すると、アサーションを直接書くことができ、多くの便利な機能が利用可能。

pytestの例

まずpytestをインストールする。

pip install pytest

次に、テスト処理を書く。通常、テストはtest_で始まる関数名を付ける。

# test_example.py

def add(a, b):
    return a + b

def test_add():
  # 任意の判定を記載する
  assert add(2, 3) == 5
  assert add(-1, 1) == 0

このテストを実行するには、コマンドラインで以下を実行。

pytest test_example.py

pytestは、test_add関数内のアサーションを実行し、それらがTrueであることを確認する。Falseの場合、テストは失敗となる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0