padraic / phpspec-extensions
此包已被废弃且不再维护。未建议替代包。
用于记录规格时间、优先排序规格和每次规格运行后释放内存的监听器集合
dev-master / 1.0.x-dev
2015-02-01 16:25 UTC
Requires
- php: >=5.4.0
- phpspec/phpspec: ~2.0
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