2
2

More than 1 year has passed since last update.

PythonでUnit Testを記述する。

Posted at

PythonのUnit Test について

PythonでもUnit Testを記述することは、品質を保つために重要です。しかしながら、テストコードを書くのは、結構手間がかかります。テストはしたいけど、めんどくさい感がプロジェクト内部でもないでしょうか?今回はテストコードを書くのはめんどくさいという課題を解決するツールを紹介します。

PythonのUnit Testで使用するツール

Python テストコード生成ツール

このツールは、テストメソッドや呼び出し、パラメータの記述、関数のモック化を自動で記述してくれます。なので、あとはパラメータを調整し、内部で呼んでいる関数のモックを設定すれば、テストが実行できます。

インストール

下記のコマンドでインストールできます。
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

まとめ

ツールを使用することによって、自身で記述するコードをなくし、手早くテストコードを記述することができます。特に、モック記述しなければと言うときに、自動的に記述してくれます。あとはモックの戻り値を記述するだけでとりあえず動きます。かんたんにテストできます。是非活用し、コードの品質を上げてください。

2
2
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
2
2