web-dev-qa-db-ja.com

PyTestの各テストに表示されるパーセンテージの意味は何ですか?

私はPytestでテストするのが初めてで、マイナーだが厄介なハングアップに遭遇しました。

コマンドラインのテストセッションの結果で、テストに合格しましたが、一部のテストでは、表示される割合が100%ではありません。

いくつかの積極的なロギングにより、テストが期待どおりにパスしていることを確認できました。

私の質問は、収集されたテストに表示されるパーセンテージの意味は何ですか?

例:

platform win32 -- Python 3.7.0a4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
rootdir: C:\api-check, inifile:
collected 5 items

test_Me.py ...                                                           [ 60%]
test_env.py ..                                                           [100%]

========================== 5 passed in 6.04 seconds ===========================
17
klreeher

これは、その場しのぎの進行状況バーです。

これは、これまでに実行された「作業のパーセンテージ」を表示します。おそらく、実行するテストの総数(完了時に最初に事前計算されたもの)ごとに、完了したテストの総数です。

テストの実行時間が長くなると、特定のファイルを処理するときに、行の番号が変化するのがわかります。

23
ivan_pozdeev

バージョン3.3(2017)以降、Pytestに含まれる機能の1つです。

私の同志@ ivan_pozdeevが述べたように、それは進行状況インジケーターです、- 確かに

以下は、4つのテストを収集した例です。

$ pytest test.py -v
================================ test session starts =============================
platform linux -- Python 3.6.7, pytest-4.4.0, py-1.8.0, pluggy-0.9.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/ivanleoncz/git/pysd
collected 4 items                                                                           
test.py::test_active_services PASSED                                        [ 25%]
test.py::test_enabled_services PASSED                                       [ 50%]
test.py::test_is_enabled PASSED                                             [ 75%]
test.py::test_is_active PASSED                                              [100%]

============================== 4 passed in 0.55 seconds ==========================
  • テストの100%/収集されたテストの量== 1つのテストから別のテストへの25%の進行
5
ivanleoncz