python

Python pytestの使い方 簡単なチュートリアルで解説

pytestの使い方を紹介します。
単体テストって割と初めて触る人にはわかりづらいところがあるので、簡単なチュトーリアルを用意しました。
pytestを体験して見たい方、pytestの導入を迷っている方は是非、試して下さい!

pytestの使い方を知る

pytestとは

pytestとは、Pythonの単体フレームワークの一つです。
Pythonに標準インストールされている『unittest』と人気を二分をする実力を持つフレームワークです。

pytestの特徴

  • assertを使わずに詳細に実装可能
  • 自動でテストモジュールや関数を見つけることが可能
  • fixtureを使って、小さく、長く使い続けられるテストが実装可能
  • unittestとnoseを実行可能
  • Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 で動く
  • 300を超える豊富なプラグイン

pytestのインストール

コマンドラインで次のコマンドを実行します。

pip install -U pytest
正しくインストールされたか確認します。
pytest --version
This is pytest version 4.0.0, imported from /Users/ユーザー名/.pyenv/versions/3.6.5/lib/python3.6/site-packages/pytest.py

初めてのpytestのテストファイルを作成する

ここでは、簡単テストファイルを作成します。
しかも、失敗するテストケースを書きます。

test_pytest.pyを作成する

# content of test_sample.py
def func(x):
    return x + 1

def test_answer():
    assert func(3) == 5

本来、4が返ってくるはずですが、5が返ってくると想定しています。

pytestを実行

pytestを実行します。
pytest
============ test session starts ==========================
platform darwin -- Python 3.6.5, pytest-4.0.0, py-1.7.0, pluggy-0.8.0
rootdir: /Users/ユーザー名/workspace/pytest-tutorial, inifile:
collected 1 item
test_pytest.py F                                                                                   [100%]

=============== FAILURES ===============================
_______________ test_answer ____________________________
 def test_answer():
>       assert func(3) == 5
E       assert 4 == 5
E        +  where 4 = func(3)

test_pytest.py:6: AssertionError
========================== 1 failed in 0.06 seconds =================

まとめ

pytestの導入も書き方もシンプルで簡単です。
是非、インストールして使ってみてください!
ABOUT ME
ロッピー
コンサルタントから2018年にエンジニアに転向。年収400万円のサラリーマンエンジニアから、半年で月収100万円を稼ぐエンジニアになった。 Python、Golangなど単価の高い言語を得意とする。