Example #1
0
 /**
  * Convert exceptions using context.
  *
  * @param TestMeta $test
  * @param MethodEvent $event
  * @param array $dataSet
  *
  * @return int Status code
  */
 protected function behavior(TestMeta $test, MethodEvent $event, array $dataSet)
 {
     try {
         $statusCode = 0;
         call_user_func_array([$this->runner->getTestCase(), $test->getMethod()], $dataSet);
         if ($test->getExpectedException()) {
             throw new TestFailException('Expected exception ' . $test->getExpectedException());
         }
         $this->finish($test, $event, MethodEvent::METHOD_OK);
     } catch (TestErrorException $exception) {
         $statusCode = $this->context->onError($exception);
         $this->finish($test, $event, MethodEvent::METHOD_FAILED, $exception);
     } catch (IncompleteTestException $exception) {
         $statusCode = $this->context->onIncomplete($exception);
         $this->finish($test, $event, MethodEvent::METHOD_INCOMPLETE, $exception);
     } catch (\Exception $exception) {
         $statusCode = $this->exceptionControl($test, $event, $exception);
     }
     return $statusCode;
 }