web-dev-qa-db-ja.com

Py.Test:レポートとHTML出力

これは技術的な質問ではありません。ただし、次を使用して生成されるはずの.HTMLレポートが見つかりません。

py.test --cov-report html pytest/01_smoke.py

確かに、親の場所、またはテストスクリプトの場所に配置されると思いました。どちらもしませんし、私は見つけることができませんでした。それで、私はそれがまったく生成されていないと思いますか?

13
Dave

py.test --cov=MYPKG --cov-report=htmlのように、対象とするディレクトリ/ファイルも指定する必要があると思います。その後、html/index.htmlが生成されます。

20
hpk42

--cov =/path/to/codeを指定しない場合、htmlはまったく生成されません。

$ py.test --cov-report html test_smoke.py
== test session starts == 
platform linux2 -- Python 2.7.12, pytest-3.4.0, py-1.5.2, pluggy-0.6.0 rootdir: /home/someuser/somedir, inifile: plugins: xdist-1.22.0, forked-0.2, cov-2.5.1 collected 3 items                                                                 


test_smoke.py ...                                             [100%]

== 3 passed in 0.67 seconds ==

出力が作成されたというメッセージがないことがわかります...ただし、-cov = ..を指定すると.

$ py.test --cov-report html test_smoke.py --cov=/path/to/code
== test session starts ==
platform linux2 -- Python 2.7.12, pytest-3.4.0, py-1.5.2, pluggy-0.6.0
rootdir: /home/someuser/somedir, inifile:
plugins: xdist-1.22.0, forked-0.2, cov-2.5.1
collected 3 items                                                                                                                                                                                                                                                         

test_smoke.py ...                                            [100%] 

---------- coverage: platform linux2, python 2.7.12-final-0 ----------
Coverage HTML written to dir htmlcov

合格したテストの統計がないことがわかります。代わりに、カバレッジがHTMLに書き込まれ、デフォルトのディレクトリ./htmlcovに送信されたことがわかります。

注:別のディレクトリが必要な場合は、出力スタイルhtml-> py.test --cov-report html:/ path/to/htmldir test_smoke.py --cov =/pathに:/ path/to/directoryを付加します。/to/code

プレーンなhtmlファイルが表示されている場合、これは問題が--cov =/path/to/my/pkgである可能性があることを示しています...テストしているコードがここにあることを確認しますか?

6
TheFallenTech

HTMLでレポートを生成する場合は、テストファイルの完全なファイルパスを指定します。

py.test --cov-report html test_file_name.py --cov=/home/ubuntu/venv/python3/lib/python3.7/site-packages/test/

次に、pythonサーバーを起動します

python -m http.server 

Htmlcovディレクトリのhtmlファイルに移動します

http://0.0.0.0:8000/venv/python3/lib/python3.7/site-packages/htmlcov/

レポートが表示されます

0
Harry_pb