如何在没有缓冲的情况下输出 phpunit(不是关于 ob_cache)
How to make output of phpunit without buffering (not about ob_cache)
PHP Unittest,在执行测试的时候,每一个测试都画上整齐的点,如果测试很多,就分几行,每行画出执行百分比。类似的东西
Runtime: PHP 7.3.31-1+ubuntu18.04.1+deb.sury.org+1 with Xdebug 3.0.4
Configuration: /var/www/mobport/phpunit.xml.dist
............................................................... 63 / 109 ( 57%)
.............................................
我还看到了它在“在线”模式下的工作原理,即在每次测试执行后立即绘制点。输出没有缓冲。
目前,我的输出已缓冲,我等待 2 分钟,然后立即绘制整个屏幕,其中包含系统描述、所有点的设置和最终错误(如果有)。
如何禁用此缓冲?
原来是Bitrix的问题。 Bitrix 内核主动使用 ob_cache 并且直到最后才关闭缓存层。我们这样解决了问题:
while (ob_get_level()) {
ob_end_clean();
}
PHP Unittest,在执行测试的时候,每一个测试都画上整齐的点,如果测试很多,就分几行,每行画出执行百分比。类似的东西
Runtime: PHP 7.3.31-1+ubuntu18.04.1+deb.sury.org+1 with Xdebug 3.0.4
Configuration: /var/www/mobport/phpunit.xml.dist
............................................................... 63 / 109 ( 57%)
.............................................
我还看到了它在“在线”模式下的工作原理,即在每次测试执行后立即绘制点。输出没有缓冲。
目前,我的输出已缓冲,我等待 2 分钟,然后立即绘制整个屏幕,其中包含系统描述、所有点的设置和最终错误(如果有)。
如何禁用此缓冲?
原来是Bitrix的问题。 Bitrix 内核主动使用 ob_cache 并且直到最后才关闭缓存层。我们这样解决了问题:
while (ob_get_level()) {
ob_end_clean();
}