コード例 #1
0
ファイル: TestListener.php プロジェクト: TrueType/phpunit
 /**
  * A test has ended.
  *
  * @param PHPUnit_Framework_Test $test the test that has ended
  * @param float $time ?
  *
  * @return void
  */
 public function endTest(PHPUnit_Framework_Test $test, $time)
 {
     $this->memoryUsageEndOfTest = memory_get_usage();
     if ($test instanceof PHPUnit_Framework_TestCase) {
         /** @var  PHPUnit_Framework_TestCase $test */
         // Tests with the same name are a sign of data provider usage.
         $testNameParts = explode(' ', $test->getName());
         $testName = get_class($test) . ':' . $testNameParts[0];
         if ($testName !== $this->previousTestName) {
             $this->currentDataProviderNumber = 0;
             $this->currentTestNumber++;
             $this->previousTestName = $testName;
         } else {
             $this->currentDataProviderNumber++;
             $this->totalNumberOfDetectedDataProviderTests++;
         }
     }
     if ($this->totalNumberOfTests - $this->totalNumberOfDetectedDataProviderTests > 0) {
         $percentDone = 100.0 * $this->currentTestNumber / ($this->totalNumberOfTests - $this->totalNumberOfDetectedDataProviderTests);
     } else {
         $percentDone = 0.0;
     }
     if ($test instanceof PHPUnit_Framework_TestCase) {
         $this->testAssertions += $test->getNumAssertions();
     }
     $output = '</div>';
     if ($this->showTime) {
         $output .= '<span class="time-usages small-font"><strong>Time:</strong> ' . sprintf('%.4f', $time) . ' sec.</span><br />';
     }
     $output .= '</div>' . '<script type="text/javascript">/*<![CDATA[*/document.getElementById("progress-bar").style.width = "' . $percentDone . '%";/*]]>*/</script>';
     $this->outputService->output($output);
     $this->outputService->flushOutputBuffer();
 }