PyTest上每个测试显示百分比的含义是什么?

时间:2018-04-09 17:03:53

标签: python testing pytest functional-testing

我很擅长使用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 ===========================

2 个答案:

答案 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 ==========================
  • 100%的测试/收集的测试数量==从一项测试到另一项测试的进度为25%