[Python] Python + Pytest ( + VS Code) テスト環境構築
内容
Python + PyTest ( + VS Code) で動作する最低限のテスト環境。
単純なクラス(calc.py)とFizzBuzz(fizzbuzz.py)を対象としたテストコードを用意。
コードは以下にアップ。
必須
pytestが必要なのでインストールしてください。
pip install pytest
実行方法
Windowsであればコマンドプロンプトを開き該当プロジェクトのルートに移動してpytestコマンドを実行する。
cd c:\workspace\python\pytest_demo pytest
ディレクトリ構成
. │ fizzbuzz.md │ LICENSE │ pytest.ini │ README.md │ requirements.txt │ ├─.vscode │ launch.json │ ├─src │ │ calc.py │ └─fizzbuzz.py │ └─tests │ test_calc.py │ test_fizzbuzz.py └─__init__.py
補足説明
- ./pytest.ini
addopts = -v --capture=no
caputure=no はプログラム中のprint出力をpytest時に表示させるために必要。
- ./tests/__init__.py
test_***.pyがある階層に必要。内容は空でよい。
"cwd": "${workspaceFolder}", "env": {"PYTHONPATH": "${cwd}"}
VS Codeからtest_**.pyを実行(F5)時にModuleNotFoundErrorが発生する。
この設定がない場合は以下の長いコードをテストモジュール全てに書く必要がある。
import os import sys sys.path.append(os.path.abspath(os.path.dirname(os.path.abspath(__file__))[1])) from src.calc import Calc
設定があれば以下でOK
from src.calc import Calc