gpt4 book ai didi

php - Codeception codecoverage 非常慢

转载 作者:可可西里 更新时间:2023-11-01 12:22:01 25 4
gpt4 key购买 nike

我正在使用 codeception(带有 codecoverage)来检查我使用 Yii2 框架编写的应用程序的代码覆盖率。因为我的 mac 上的标准 php 安装没有启用 xcode,所以我激活它并在我的 php.ini 中添加了一个 zend_module 行。代码覆盖率现在似乎可以工作,但速度非常慢。是的,我知道激活的 xdebug 和覆盖生成需要一些时间,但我认为这不正常:即使是仅检查对象初始化的简单单元测试也需要长达 15 分钟。

我不认为这是 cpu 或 ram 问题,而是配置问题。

我开始代码覆盖:

codeception run unit --coverage-html

我检测到的事情:第一个测试总是运行得很快,不管它有多大。第二个测试要慢得多(不管它是什么测试),第三个要慢得多。我怎样才能找到这个?我想检测问题。

再说一次:我知道代码覆盖会减慢测试速度,但是一个简单的测试需要 15 分钟是不正常的。

//编辑:运行大约的测试。 15 分钟,在未启用代码覆盖的情况下需要 1 秒。

最佳答案

您需要启用 xdebug 才能获得覆盖(您现在已经完成了!)因此禁用它没有帮助。

运行此类分析检查时会产生巨大的开销,例如我的 Laravel 应用运行约 300 个测试和约 1000 个断言。获取覆盖率报告时,运行大约需要 5 分钟,但关闭 xdebug 并且没有覆盖率大约需要 15 秒。

您也许能够通过配置 php.ini 获得更多性能?也许检查你允许 php 使用多少内存。我认为默认为 128mb,允许更多可能会停止内存/磁盘研磨?

如果您的应用程序很复杂,可以在 xdebug 中启用分析,然后在 PHPStorm 中分析结果,看看是什么导致速度变慢。

关于php - Codeception codecoverage 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com