PPP3: pytestでカバレッジ計測
pytest-cov
カバレッジを測定するpytestプラグイン
やってみる
$ pytest --cov
================================================================================== test session starts ===================================================================================
platform linux -- Python 3.6.7, pytest-4.6.2, py-1.8.0, pluggy-0.12.0
rootdir: /home/takahiro/study/PPP3-mac/test
plugins: cov-2.7.1
collected 6 items
test_bankaccount.py ...... [100%]
----------- coverage: platform linux, python 3.6.7-final-0 -----------
Name Stmts Miss Cover
--------------------------------------------------------------------------------------
bankaccount.py 15 0 100%
test_bankaccount.py 35 1 97%
venv/lib/python3.6/site-packages/_pytest/_argcomplete.py 37 36 3%
:
:
venv/lib/python3.6/site-packages/pytest_cov/plugin.py 169 153 9%
venv/lib/python3.6/site-packages/six.py 472 470 1%
--------------------------------------------------------------------------------------
TOTAL 14271 11679 18%
================================================================================ 6 passed in 1.05 seconds ================================================================================
ほとんどpytestのモジュールっぽいですけど?
しかもおかげで100%にならないし?
venvに入ってるからかな
あとテストを同じフォルダに置いてるからかもしれない
と思ってフォルダを分けようとしたらうまくいかなかったというわけ
--cov
に続けて対象を指定できるらしいのでそれでやってみる
$ pytest --cov=bankaccount
================================================================================== test session starts ===================================================================================
platform linux -- Python 3.6.7, pytest-4.6.2, py-1.8.0, pluggy-0.12.0
rootdir: /home/takahiro/study/PPP3-mac/test
plugins: cov-2.7.1
collected 6 items
test_bankaccount.py ...... [100%]
----------- coverage: platform linux, python 3.6.7-final-0 -----------
Name Stmts Miss Cover
------------------------------------
bankaccount.py 15 0 100%
================================================================================ 6 passed in 0.06 seconds ================================================================================
100%達成!