概要
Python で テストする場合、pytestを使うと便利だ。
pytest には plugin 機構が存在しており、pep8 と coverage を同時にチェックすることができる。
設定
特に設定する項目はなく、plugin を pip でインストールするだけで使うことが可能になる。
pip install pytest-pep8
pip install pytest-cov
実行
py.test の実行にに、オプションに「--pep8」を付けると pep8 チェック、「--conv」を付けると coverage が動作する。
py.test --pep8 --cov myproj -v tests
pep8 チェックと coverage チェックが表示される。coverage チェックは毎回実行する必要はないが、pep8はチェックしておいた方が良い。
============================= test session starts ==============================
platform darwin -- Python 2.7.3 -- pytest-2.2.4 -- /path/to/bin/python
cachedir: /path/to/myproj/.cache
collected 3 items
tests/__init__.py:0: PEP8-check SKIPPED
tests/test_sample.py:0: PEP8-check PASSED
tests/test_sample.py:15: TestSample.test_sample PASSED
--------------- coverage: platform darwin, python 2.7.3-final-0 ----------------
Name Stmts Miss Cover
-----------------------------------------
myproj/__init__ 1 0 100%
myproj/sample 8 0 100%
myproj/sample2 8 3 63%
-----------------------------------------
TOTAL 17 3 82%
===================== 2 passed, 1 skipped in 0.27 seconds ======================
テスト、テスト、そしてテスト
テストを書く。テストは最初に書く必要はないが、かならず必要になる。