pytestで特定のファイルをテスト対象外にする

pytestで特定のファイルをテスト対象外にするPython
ゆうすけ
ゆうすけ

pytestで特定のファイルをテスト対象外にしたいです。

資格マフィア
資格マフィア

setup.cfg を使うことでテスト対象を定義することができるぞ。

 

✔️ 本記事のテーマ

 pytestのテスト対象外ファイルを定義する

 

✔️ 読者さんへの前置きメッセージ

本記事は
「pytestのテスト対象外ファイルを定義する方法」
について書いています。

 

この記事を読むことで
「pytest における setup.cfg の使い方」について理解できます。

 

pytestはPythonのテスト用ライブラリです。

参考:pytestの使い方【fixture, 実行方法など】

 

pytestを使うことでPythonコードのテストを手軽に、そして体系的に記述することができます。

そのpytestでは正常系だけでなく、setup.cfgを使うことでテスト設定を定義することができます。

 

この記事では

  • pytest でテスト対象外ファイルを定義する方法
  • pytest におけるsetup.cfgの使い方

について解説します。

 

では、解説していきましょう。

 

pytestの使い方

pytestの使い方

pytest の使い方は簡単です。
テストファイルの中で test_XXX という命名規則に従って関数を作成します。

def sum_values(a, b):
    return a + b


def test_sum():
    ret = sum_values(1, 2)
    assert ret == 3

 

そして、上記コードを書いたファイルがあるディレクトリで
pyetst コマンドを実行することでテストを実行することができます。

pyetst ./sample.py

 

以下のようにテスト結果が出力されます。

=============================================================== test session starts ================================================================
platform darwin -- Python 3.8.3, pytest-6.0.0, py-1.9.0, pluggy-0.13.1
rootdir:  XXXXXX
plugins: pycharm-0.6.0, Faker-4.14.0
collected 1 item                                                                                                                                   

sample.py .

テスト対象のファイル名の横に pass したテストケースの数だけ . が出力されます.

今回は1ケースだけ用意したので sample.py . と出力されています。

 

pytest でテスト対象外ファイルを定義する(setup.cfg)

pytest でテスト対象外ファイルを定義する(setup.cfg)

pytestでは setup.cfg にテスト設定を定義することができます。

 

setup.cfg の書き方のサンプルは以下の通りです。

[tool:pytest]
filterwarnings =
    ignore::pandas.core.common.SettingWithCopyWarning
    ignore::marshmallow.warnings.RemovedInMarshmallow4Warning
python_files =
    tests/sample.py
    tests/validation.py

filterwarnings は pytest でテストを実行したときの warning を無視する設定です。

ここに定義した warning は pytest のチェック対象外となります。

 

また、python_files でテスト対象のファイルを定義することができます。

このオプションを定義しておくと、定義したファイルのみが pytest の対象となります。

 

なお、テスト対象の定義は、ファイルだけでなく、ディレクトリで指定することもできます。

testpaths =
    tests/it
    tests/ut

 

 

pytestやPythonのテスト開発について解説した書籍

pytestやPythonのテスト開発について解説した書籍

pytest のテスト対象外ファイルの定義について解説しました。

 

pytestを始めとした、Pythonのテスト開発を学ぶためには以下の書籍がオススメです。

 

この書籍は

  • ソフトウェア開発におけるテストとは何か
  • pytest とは何か

というレベルから実践的なテスト方法まで非常に分かりやすく解説されています。

 

その人気からKindle本も出版されています。

Amazonからであれば、試し読みもできるので、一度見てみるのもオススメです。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

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