私は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 ===========================
これは、その場しのぎの進行状況バーです。
これは、これまでに実行された「作業のパーセンテージ」を表示します。おそらく、実行するテストの総数(完了時に最初に事前計算されたもの)ごとに、完了したテストの総数です。
テストの実行時間が長くなると、特定のファイルを処理するときに、行の番号が変化するのがわかります。
バージョン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 ==========================