kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

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%達成!