我很擅长使用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 ===========================
答案 0 :(得分:13)
这是一个临时的进度条。
显示"工作百分比"到目前为止完成 - 最有可能的是,总运行测试总数(在开始时预先计算)。
如果你的测试运行的时间更长,你可能会看到该行中的数字随着它在特定文件中的变化而变化。
答案 1 :(得分:2)
这是自3.3版(2017)以来Pytest包含的功能之一。
正如我的同志 @ivan_pozdeev 所述,它是进度指示器,indeed。
在此示例中,您收集了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 ==========================