tatarysh/phpunit-memory-and-time-usage-listener

用于测量时间和内存使用的PHPUnit监听器

2.0.0 2019-09-11 21:43 UTC

This package is auto-updated.

Last update: 2024-09-12 08:25:52 UTC


README

此PHPUnit监听器提供了每个测试的时间、内存和内存峰值使用的详细信息,通过参数配置了两个版本:

  • 一个在测试套件结束后显示所有执行测试的信息。
  • 一个指示所有测量的阈值,并且只有当其中一个超过其阈值时才显示结果。

如果没有在phpunit.xml中定义参数,则默认行为是显示所有结果。

可以在phpunit.xml文件中定义的参数有:

  • showOnlyIfEdgeIsExceeded (布尔值):默认值为false,如果将其设置为true,建议设置其他三个可选参数。
  • executionTimeEdge (整数)(毫秒):只有当showOnlyIfEdgeIsExceeded设置为true时才需要。默认值为100,表示每个测试的使用时间限制。
  • memoryUsageEdge (整数)(字节):只有当showOnlyIfEdgeIsExceeded设置为true时才需要。默认值为1024,表示每次使用的内存使用限制。
  • memoryPeakDifferenceEdge (整数)(字节):只有当showOnlyIfEdgeIsExceeded设置为true时才需要。默认值为1024,表示内存峰值之间的最大差异。

安装

安装此监听器的使用方法与使用composer安装任何其他包一样简单。我建议只将要求指定为dev。

{
  "require-dev": {
    "tatarysh/phpunit-memory-and-time-usage-listener": "dev-master"
  }
}

使用示例

无边界的监听器使用XML示例

    <listener class="\PhpunitMemoryAndTimeUsageListener\Listener\Measurement\TimeAndMemoryTestListener"/>

带有边界的监听器使用XML示例

     <listeners>
         <listener class="\PhpunitMemoryAndTimeUsageListener\Listener\Measurement\TimeAndMemoryTestListener">
             <arguments>
                 <array>
                     <element key="showOnlyIfEdgeIsExceeded">
                         <boolean>true</boolean>
                     </element>
                     <element key="executionTimeEdge">
                         <integer>100</integer>
                     </element>
                     <element key="memoryUsageEdge">
                         <integer>1024</integer>
                     </element>
                     <element key="memoryPeakDifferenceEdge">
                         <integer>10240</integer>
                     </element>
                 </array>
             </arguments>
         </listener>
     </listeners>