Pythonのテスト自動化(python)

pytestを使用してpythonで書かれたプログラムのテストを自動化します。

pytestとは

参考:公式ページ

pythonには標準でユニットテスト用の仕組みはある様ですが、
現在は、外部ライブラリのpytestを使用するのが主流みたいです。

環境構築

以下のコマンドを実行してインストール

pip install pytest

requirements.txtなどがあれば、pytestを追記します。

モック

テストコードを組む上で、最初に引っかかるのがモックな気がします。
私が試したやつを紹介していきます。

@patch

monkeypatch

monkeypathは「setattr」「setitem」「setenv」などのメソッドを持っており、
それによって変数等に値を設定してモック化することができます。

<使い方>

monkeypath(クラス名, 対象の変数 or メソッド, ダミー)

使用例 testクラスの変数variをmockという値に書き換える

monkeypath(test, 'vari', 'mock')

検証(Assert)

検証用のメソッド等を紹介していきます。

assert_called_once

対象が1回だけ呼び出されたことを確認する

<使用例>

コメントする