Example #1
0
 /**
  * Try to resolve situation with exception.
  *
  * @param TestMeta $test
  * @param MethodEvent $event
  * @param \Exception $exception
  *
  * @return int Status code
  */
 private function exceptionControl(TestMeta $test, MethodEvent $event, \Exception $exception)
 {
     if (is_a($exception, $test->getExpectedException())) {
         $code = $test->getExpectedExceptionCode();
         if ($code !== null && $code !== $exception->getCode()) {
             $error = new TestFailException(sprintf('Failed asserting that expected exception code %d is equal to %d', $code, $exception->getCode()), 0, $exception);
             $status = $this->context->onFailure($error);
             $this->finish($test, $event, MethodEvent::METHOD_FAILED, $exception);
             return $status;
         }
         $message = $test->getExpectedExceptionMessage();
         if ($message !== null && strpos($exception->getMessage(), $message) === false) {
             $error = new TestFailException(sprintf('Failed asserting that exception message "%s" contains "%s"', $exception->getMessage(), $message), 0, $exception);
             $status = $this->context->onFailure($error);
             $this->finish($test, $event, MethodEvent::METHOD_FAILED, $exception);
             return $status;
         }
         return 0;
     } else {
         $this->context->onUnexpectedException($exception);
         return 1;
     }
 }
Example #2
0
 /**
  * @expectedException \Unteist\Exception\TestFailException
  * @expectedExceptionMessage Test was marked as failure by chosen strategy
  */
 public function testUnexpectedExceptionWithAssociation()
 {
     $this->context->associateException('Exception', new TestFailStrategy());
     $this->context->onUnexpectedException(new \Exception('Message'));
 }