【Pytest】テストコードを書いてコードをテストする方法

新米太郎
新米太郎

皆さんこんにちは新米です。

今回は、自分が書いたpythonコードが正しく機能してるか、確認するテスト方法を紹介します。



Pytestとは

pytest は Python のテストツールの1種です。

テストの失敗原因がわかりやすいので、個人的には好きです。

まずは、pytestをインストールしましょう。

Pytestインストール

pip 経由で pytest をインストールします。

pip install pytest

もしくは

pip3 install pyest

 

※バージョンを確認したい時

pytest --version

 

Pytest テストコードを書いてテストする方法

今回は、Jsonの[version]キーの要素を取得する関数が
ちゃんと機能を満たしているかテストしてみましょう!

[Mainコード]
import json

class MainJson(object):

  #jsonのversionを返す
  def get_version(self,res):
    d = json.loads(res)
    body = d.get('body')
    return body.get('version')

[Testコード]
from unittest import TestCase
import main_json

class TestJson(TestCase):
  def test_get_version(self):
    
    #擬似的にJsonデータを作成
    test_data = """{
    "httpStatusCode": 200,
    "body": {
        "name": "python",
        "version": "3.9.6"
      }
    }"""

    mj = main_json.MainJson()

    #main_json.pyのget_version関数を呼び出し
    result = mj.get_version(test_data)
    
    #テスト判定、trueの場合は正常
    self.assertEqual("3.9.6",result)

 

◇テスト実行方法

pytest <テストファイル名>.py

成功時

失敗時

例)version 3.9.6を3.9.7にした場合

#テスト判定、trueの場合は正常
self.assertEqual("3.9.7",result)

 

☆失敗の原因がわかりやすい!↓

> self.assertEqual("3.9.7",result)
E AssertionError: '3.9.7' != '3.9.6'



まとめ

いかがだったでしょうか。

他にもpythonについての記事を更新していますので
よければ見てね!

 

新米太郎
新米太郎

最後まで読んでくれてありがとう👍




コメント

タイトルとURLをコピーしました