pytest

概要

pytestとは、Pythonでよく用いられる単体テスト(ユニットテスト)を支援するためのモジュール。テストの作成と実施を効率的にうことができる。

開発者が作成した関数メソッドが意図した通りに機能するかを確かめる単体テストを作成し、まとめて実行して結果を報告してくれる。Pythonの標準環境では存在しないためpipコマンドなどで導入し、テストスクリプトには「import pytest」で読み込む。

テストスクリプトには「test_対象メソッド」という命名規約に従って関数の形でテストケースを作成する。各テストケースには対象メソッド実行する際の引数や期待される出力などを指定し、assert文を通じて結果を報告する。作成したテストは「python -m pytest テストスクリプト名」でまとめて実行し、結果を一覧することができる。スクリプト内の特定の関数クラスクラスメソッドのみを対象とするよう指定することもできる。

個別にテストを記述して実施する場合に比べ、テストコードを対象のコード本体とは別にまとめて管理することができ、複数のテストの実行も一気にうことができる。コードを変更した後に動作確認を簡単にうことができ、欠陥箇所の早期発見に寄与する。

Pythonには標準のテストフレームワークとして「unittest」(ユニットテスト)も内蔵されており、実現できる機能などにほとんど差は無いが、unittestJUnit等のxUnit系のフレームワークと親和性が高い一方、pytestはよりPythonらしい書き方でテスト作成ができるとされる。

(2021.8.14更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる