PythonのUnit Test について
PythonでもUnit Testを記述することは、品質を保つために重要です。しかしながら、テストコードを書くのは、結構手間がかかります。テストはしたいけど、めんどくさい感がプロジェクト内部でもないでしょうか?今回はテストコードを書くのはめんどくさいという課題を解決するツールを紹介します。
PythonのUnit Testで使用するツール
このツールは、テストメソッドや呼び出し、パラメータの記述、関数のモック化を自動で記述してくれます。なので、あとはパラメータを調整し、内部で呼んでいる関数のモックを設定すれば、テストが実行できます。
インストール
下記のコマンドでインストールできます。
Python Unit Test Generator install
pip install pyutgenerator
実行
実行は引数にPythonファイルを指定し実行します。出力は"test"の下にテストコードが出力されます。
pyutgen aaa\bbbb.py
出力サンプル
テストされるコード
"""
test pattern 02
"""
def p01():
x = f01(f01(f01))
return x
def f01(prm1):
return prm1
生成されたテストコード
import pytest
from unittest.mock import patch
from unittest.mock import MagicMock
from tests.pyutgenerator.data import pattern02
def test_p01():
# plan
# do
with\
patch('tests.pyutgenerator.data.pattern02.f01') as m1:
m1.side_effect = [None, None]
ret = pattern02.p01()
# check
assert ret
def test_f01():
# plan
prm1 = None
# do
ret = pattern02.f01(prm1)
# check
assert ret
まとめ
ツールを使用することによって、自身で記述するコードをなくし、手早くテストコードを記述することができます。特に、モック記述しなければと言うときに、自動的に記述してくれます。あとはモックの戻り値を記述するだけでとりあえず動きます。かんたんにテストできます。是非活用し、コードの品質を上げてください。