如何在没有缓冲的情况下输出 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();
}

视频画面:https://mpakfmtest.ru/video/unittest3.mp4