Я только начал использовать PHPUnit, и мне интересно, есть ли сборка для сброса содержимого переменной?
Сценарий использования заключается в том, что, поскольку я уже говорю с разрабатываемым кодом, я могу использовать PHPUnit не только для проверки стабильности этого кода, но и для вывода отладочной информации в процессе разработки.
Я знаю, что xdebug может восполнить этот пробел для меня, но иногда проще вывести некоторую информацию в вывод, чем возиться с моим отладчиком IDE, что более полезно для поиска причины ошибки.
Я знаю, что могу просто сделать обычную переменную var_dump, мне просто интересно, есть ли для этого интерфейс PHPUnit.
Спасибо!
Редактировать:
Решили взломать его вместе, следуя ответу Дэвида.
Ни в коем случае не идеальное решение, но оно делает работу за меня.Если кому-то интересно:
*** PHPUnit-3.6.3/PHPUnit/Framework/TestCase.php 2011-11-09 12:25:38.000000000 -0500
--- PHPUnit/Framework/TestCase.php 2011-11-09 15:27:02.193317219 -0500
***************
*** 291,296 ****
--- 291,298 ----
* @var boolean
*/
private $outputBufferingActive = FALSE;
+
+ public static $ob_output = array();
/**
* Constructs a test case with the given name.
***************
*** 913,921 ****
--- 915,927 ----
}
try {
+ ob_start();
$testResult = $method->invokeArgs(
$this, array_merge($this->data, $this->dependencyInput)
);
+
+ Static::$ob_output[ $method->name ] = ob_get_contents();
+ ob_end_clean();
}
catch (Exception $e) {
А для использования с VisualPHPUnit:
<code>*** NSinopoli-VisualPHPUnit-b7ba91a/ui/test.html 2011-11-08 15:38:44.000000000 -0500
--- ui/test.html 2011-11-09 15:38:44.797329455 -0500
***************
*** 3,15 ****
<div class="name" title="Test Status: <?php echo ucfirst($test['status']);?>"><?php echo $test['name'];?></div>
<div class="stats"><?php echo $test['message'];?></div>
<div class="expand button"><?php echo $test['expand'];?></div>
! <div class="more test <?php echo $test['display'];?>">
<div class="variables rounded <?php echo $test['variables_display'];?>">
<pre><?php echo $test['variables_message'];?>
!
<?php echo $test['trace_message'];?>
! --- 3,21 ----Статус теста: <? Php echo ucfirst ($ test ['status']);?>!
<?php echo $test['variables_message'];?>
!
<?php echo $test['trace_message'];?>
!!!
OB выход
!!
<?php echo PHPUnit_Framework_TestCase::$ob_output[$test['name']]; ?>
!!