Beispiel #1
0
 /**
  * Returns a description for an exception.
  *
  * @param  Exception $e
  * @return string
  * @since  Method available since Release 3.2.0
  */
 public static function exceptionToString(Exception $e)
 {
     if ($e instanceof PHPUnit_Framework_SelfDescribing) {
         $buffer = $e->toString();
         if ($e instanceof PHPUnit_Framework_ExpectationFailedException && $e->getComparisonFailure()) {
             $buffer = $buffer . $e->getComparisonFailure()->getDiff();
         }
         if (!empty($buffer)) {
             $buffer = trim($buffer) . "\n";
         }
     } elseif ($e instanceof PHPUnit_Framework_Error) {
         $buffer = $e->getMessage() . "\n";
     } elseif ($e instanceof PHPUnit_Framework_ExceptionWrapper) {
         $buffer = $e->getClassname() . ': ' . $e->getMessage() . "\n";
     } else {
         $buffer = get_class($e) . ': ' . $e->getMessage() . "\n";
     }
     return $buffer;
 }
 /**
  * @param string                 $message
  * @param PHPUnit_Framework_Test $test
  * @param Exception              $e
  *
  * @return string
  */
 protected function composeMessage($message, PHPUnit_Framework_Test $test, Exception $e)
 {
     $message = "Test {$message} (" . $test->getName() . " in class " . get_class($test) . "): " . $e->getMessage();
     if ($e instanceof PHPUnit_Framework_ExpectationFailedException && $e->getComparisonFailure()) {
         $message .= "\n" . $e->getComparisonFailure()->getDiff();
     }
     return $message;
 }
 /**
  * This method is called when a test method did not execute successfully.
  *
  * @param Exception $e
  */
 protected function onNotSuccessfulTest(Exception $e)
 {
     if (!$this->serverRunning) {
         throw $e;
     }
     try {
         $this->restoreSessionStateAfterFailedTest();
         $buffer = '';
         if ($this->captureScreenshotOnFailure) {
             $buffer .= 'Current URL: ' . $this->drivers[0]->getLocation() . "\n";
             $screenshotInfo = $this->takeScreenshot();
             if ($screenshotInfo != '') {
                 $buffer .= $screenshotInfo;
             }
         }
         $this->stopSession();
     } catch (Exception $another) {
         $buffer = "Issues while capturing the screenshot:\n" . $another->getMessage();
     }
     if ($e instanceof PHPUnit_Framework_ExpectationFailedException && is_object($e->getComparisonFailure())) {
         $message = $e->getComparisonFailure()->toString();
     } else {
         $message = $e->getMessage();
     }
     $buffer .= "\n" . $message;
     // gain the screenshot path, lose the stack trace
     if ($this->captureScreenshotOnFailure) {
         throw new PHPUnit_Framework_Error($buffer, $e->getCode(), $e->getFile(), $e->getLine(), $e);
     }
     // yes to stack trace and everything
     if ($e instanceof PHPUnit_Framework_IncompleteTestError || $e instanceof PHPUnit_Framework_SkippedTestError || $e instanceof PHPUnit_Framework_AssertionFailedError) {
         throw $e;
     }
     // yes to stack trace, only for F tests
     // PHPUnit issue 471 prevents getTrace() from being useful
     throw new PHPUnit_Framework_Error($buffer, $e->getCode(), $e->getFile(), $e->getLine(), $e);
 }
Beispiel #4
0
 /**
  * Returns a description for an exception.
  *
  * @param  Exception $e
  * @return string
  * @since  Method available since Release 3.2.0
  */
 public static function exceptionToString(Exception $e)
 {
     if ($e instanceof PHPUnit_Framework_SelfDescribing) {
         if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
             $comparisonFailure = $e->getComparisonFailure();
             $description = $e->getDescription();
             $message = $e->getCustomMessage();
             if ($message == '') {
                 $buffer = '';
             } else {
                 $buffer = $message . "\n";
             }
             if ($comparisonFailure !== NULL) {
                 if ($comparisonFailure->identical()) {
                     if ($comparisonFailure instanceof PHPUnit_Framework_ComparisonFailure_Object) {
                         $buffer .= 'Failed asserting that two variables ' . "reference the same object.\n";
                     } else {
                         $buffer .= $comparisonFailure->toString() . "\n";
                     }
                 } else {
                     if ($comparisonFailure instanceof PHPUnit_Framework_ComparisonFailure_Scalar) {
                         $buffer .= sprintf("Failed asserting that %s matches expected %s.\n", PHPUnit_Util_Type::toString($comparisonFailure->getActual()), PHPUnit_Util_Type::toString($comparisonFailure->getExpected()));
                     } else {
                         if ($comparisonFailure instanceof PHPUnit_Framework_ComparisonFailure_Array || $comparisonFailure instanceof PHPUnit_Framework_ComparisonFailure_Object || $comparisonFailure instanceof PHPUnit_Framework_ComparisonFailure_String) {
                             $buffer .= sprintf("Failed asserting that two %ss are equal.\n%s\n", strtolower(substr(get_class($comparisonFailure), 36)), $comparisonFailure->toString());
                         }
                     }
                 }
             } else {
                 $buffer .= $e->toString();
                 if (!empty($buffer)) {
                     $buffer .= "\n";
                 }
                 if (strpos($buffer, $description) === FALSE) {
                     $buffer .= $description . "\n";
                 }
             }
         } else {
             $buffer = $e->toString();
             if (!empty($buffer)) {
                 $buffer .= "\n";
             }
         }
     } else {
         if ($e instanceof PHPUnit_Framework_Error) {
             $buffer = $e->getMessage() . "\n";
         } else {
             $buffer = get_class($e) . ': ' . $e->getMessage() . "\n";
         }
     }
     return $buffer;
 }
 /**
  * This method is called when a test method did not execute successfully.
  *
  * @param Exception $e
  */
 protected function onNotSuccessfulTest(Exception $e)
 {
     if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
         $buffer = 'Current URL: ' . $this->drivers[0]->getLocation() . "\n";
         if ($this->captureScreenshotOnFailure && !empty($this->screenshotPath) && !empty($this->screenshotUrl)) {
             $filename = $this->getScreenshotPath() . $this->testId . '.png';
             $this->drivers[0]->captureEntirePageScreenshot($filename);
             $buffer .= 'Screenshot: ' . $this->screenshotUrl . '/' . $this->testId . ".png\n";
         }
     }
     $this->stopSession();
     self::$sessionId = NULL;
     if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
         if (is_object($e->getComparisonFailure())) {
             $message = $e->getComparisonFailure()->toString();
         } else {
             $message = $e->getMessage();
         }
         $buffer .= "\n" . $message;
         throw new PHPUnit_Framework_ExpectationFailedException($buffer);
     }
     throw $e;
 }