У меня есть несколько var_dumps в моем php-коде (я понимаю, что в конце концов не должно быть, но все же), и во время выполнения тестов они выводят ненужную информацию в консоль, есть ли способ игнорировать выполнение какого-либо кода?
я пробовал
/** * @codeCoverageIgnore */
а также
// @codeCoverageIgnoreStart print '*'; // @codeCoverageIgnoreEnd
Но это просто игнорирует покрытие и все еще выполняет код.
Вы можете установить setOutputCallback для того, чтобы ничего не делать. Эффект заключается в подавлении любого выхода, напечатанного в тесте или в тестируемом классе.
Как пример:
namespace Acme\DemoBundle\Tests; class NoOutputTest extends \PHPUnit_Framework_TestCase { public function testSuppressedOutput() { // Suppress output to console $this->setOutputCallback(function() {}); print '*'; $this->assertFalse(false, "Don't see the *"); } }
Вы можете найти ссылку в документе
Надеюсь, что эта помощь
Я не знаю, это хороший стиль, но я делаю так:
ob_start(); echo 200; $output = ob_get_clean();