【问题标题】:What's the meaning of the percentages displayed for each test on PyTest?PyTest 上每个测试显示的百分比是什么意思?
【发布时间】:2018-09-19 03:43:41
【问题描述】:

我是使用 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 ===========================

【问题讨论】:

  • 收集的总测试数的百分比。例如收集了 5 个项目...test_Me.py 有 3 个测试 = 60%...不是超级复杂
  • @abigperson 这没有多大意义。 test_Me 中的 60% 测试和test_env 中的 100% 测试怎么可能?上次我检查时,百分比不是这样工作的。
  • 也许百分比是累积的?尝试添加第三个测试文件,看看输出是什么样的。
  • 我启动了一个 PR 来更新 pytest 文档,并提供以下答案(谢谢!):github.com/pytest-dev/pytest/pull/6686。请随时发表评论或投票。

标签: python testing pytest functional-testing


【解决方案1】:

这是一个临时的进度条。

它显示到目前为止已完成的“工作百分比”——很可能是已完成的测试总数除以要运行的测试总数(它在开始时预先计算)。

如果您的测试运行时间更长,您可能会看到该行中的数字随着特定文件的处理而发生变化。

【讨论】:

  • 谢谢!我觉得现在如此挂断这件事是愚蠢的。 :)
  • 哇,这一点都不明显。
  • 每天都有新的东西。我有这种根深蒂固的信念,认为这是某种报道,但对我来说没有任何意义。终于通关了,谢谢!
【解决方案2】:

这是 Pytest 自 3.3 (2017) 版以来包含的功能之一。

正如我的同志 @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% 的进展,从一个测试到另一个测试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 2018-01-28
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多