padraic/phpspec-extensions

此包已被废弃且不再维护。未建议替代包。

用于记录规格时间、优先排序规格和每次规格运行后释放内存的监听器集合

dev-master / 1.0.x-dev 2015-02-01 16:25 UTC

This package is not auto-updated.

Last update: 2020-08-21 19:01:35 UTC


README

旨在允许以下功能的扩展集合:

  • 规格和示例执行计时
  • 执行后通过删除规格属性释放内存
  • 使用自定义过滤器过滤/重新排序规格和示例

可用的 phpspec.yml 选项(请参阅下面的可用示例)

formatter.name: pretty
humbug.filtered_resource_loader.filters:
- Humbug\PhpSpec\Loader\Filter\Specification\FastestFirstFilter
- Humbug\PhpSpec\Loader\Filter\Specification\ShuffleFilter
- Humbug\PhpSpec\Loader\Filter\Example\ShuffleFilter
humbug.time_collector.target: /tmp/phpspec.times.humbug.json
extensions:
- Humbug\PhpSpec\TimeCollectorExtension
- Humbug\PhpSpec\FilteredResourceLoaderExtension
- Humbug\PhpSpec\FreeMemoryExtension

这只是为了说明目的,以显示所有选项。请参阅下面的使用示例以获取选项的组合。通常,您可以编写单独的 yml 文件,并使用 phpspec 的 -c 选项选择性加载它们。过滤器按配置中列出的顺序应用,因此从技术上讲,FastestFirstFilter 会因为 ShuffleFilter 而被取消对于上面的规格。所有过滤器都提供了一个引用数组,其中包含示例或规格以进行操作。

这些扩展主要针对 Humbug,但可用于任何其他目的。尽情享受吧!

安装

require: {
   "padraic/phpspec-extensions": "dev-master"
}

使用示例

运行规格后释放内存。这将清除类上可能影响性能的任何非 phpspec 属性

formatter.name: pretty
extensions:
- Humbug\PhpSpec\FreeMemoryExtension

为任何计时相关过滤器生成计时数据(在激活此类过滤器之前运行)

formatter.name: pretty
humbug.time_collector.target: /tmp/phpspec.times.humbug.json
extensions:
- Humbug\PhpSpec\TimeCollectorExtension
- Humbug\PhpSpec\FreeMemoryExtension

使用计时数据按最快顺序运行规格

formatter.name: pretty
humbug.filtered_resource_loader.filters:
- Humbug\PhpSpec\Loader\Filter\Specification\FastestFirstFilter
humbug.time_collector.target: /tmp/phpspec.times.humbug.json
extensions:
- Humbug\PhpSpec\FilteredResourceLoaderExtension
- Humbug\PhpSpec\FreeMemoryExtension

担心示例之间或规格之间的任何奇怪依赖关系?通过打乱示例和规格来找出它们。规格在套件中的位置或示例在规格中的位置将随机分布。

formatter.name: pretty
humbug.filtered_resource_loader.filters:
- Humbug\PhpSpec\Loader\Filter\Specification\ShuffleFilter
- Humbug\PhpSpec\Loader\Filter\Example\ShuffleFilter
extensions:
- Humbug\PhpSpec\FilteredResourceLoaderExtension
- Humbug\PhpSpec\FreeMemoryExtension