pytestを使用してpythonで書かれたプログラムのテストを自動化します。
pytestとは
参考:公式ページ
pythonには標準でユニットテスト用の仕組みはある様ですが、
現在は、外部ライブラリのpytestを使用するのが主流みたいです。
環境構築
以下のコマンドを実行してインストール
pip install pytestrequirements.txtなどがあれば、pytestを追記します。
モック
テストコードを組む上で、最初に引っかかるのがモックな気がします。
私が試したやつを紹介していきます。
@patch
monkeypatch
monkeypathは「setattr」「setitem」「setenv」などのメソッドを持っており、
それによって変数等に値を設定してモック化することができます。
<使い方>
monkeypath(クラス名, 対象の変数 or メソッド, ダミー)使用例 testクラスの変数variをmockという値に書き換える
monkeypath(test, 'vari', 'mock')検証(Assert)
検証用のメソッド等を紹介していきます。
assert_called_once
対象が1回だけ呼び出されたことを確認する
<使用例>