pytestで特定のファイルをテスト対象外にしたいです。
setup.cfg を使うことでテスト対象を定義することができるぞ。
✔️ 本記事のテーマ
pytestのテスト対象外ファイルを定義する
✔️ 読者さんへの前置きメッセージ
本記事は
「pytestのテスト対象外ファイルを定義する方法」
について書いています。
この記事を読むことで
「pytest における setup.cfg の使い方」について理解できます。
pytestはPythonのテスト用ライブラリです。
参考:pytestの使い方【fixture, 実行方法など】
pytestを使うことでPythonコードのテストを手軽に、そして体系的に記述することができます。
そのpytestでは正常系だけでなく、setup.cfgを使うことでテスト設定を定義することができます。
この記事では
- pytest でテスト対象外ファイルを定義する方法
- pytest におけるsetup.cfgの使い方
について解説します。
では、解説していきましょう。
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 にテスト設定を定義することができます。
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 のテスト対象外ファイルの定義について解説しました。
pytestを始めとした、Pythonのテスト開発を学ぶためには以下の書籍がオススメです。
この書籍は
- ソフトウェア開発におけるテストとは何か
- pytest とは何か
というレベルから実践的なテスト方法まで非常に分かりやすく解説されています。
その人気からKindle本も出版されています。
Amazonからであれば、試し読みもできるので、一度見てみるのもオススメです。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント