PHPUnit_Util_Test::getExpectedException PHP Метод

getExpectedException() публичный статический Метод

Returns the expected exception for a test.
public static getExpectedException ( string $className, string $methodName ) : array
$className string
$methodName string
Результат array
    public static function getExpectedException($className, $methodName)
    {
        $reflector = new ReflectionMethod($className, $methodName);
        $docComment = $reflector->getDocComment();
        $docComment = substr($docComment, 3, -2);
        if (preg_match(self::REGEX_EXPECTED_EXCEPTION, $docComment, $matches)) {
            $annotations = self::parseTestMethodAnnotations($className, $methodName);
            $class = $matches[1];
            $code = null;
            $message = '';
            $messageRegExp = '';
            if (isset($matches[2])) {
                $message = trim($matches[2]);
            } elseif (isset($annotations['method']['expectedExceptionMessage'])) {
                $message = self::parseAnnotationContent($annotations['method']['expectedExceptionMessage'][0]);
            }
            if (isset($annotations['method']['expectedExceptionMessageRegExp'])) {
                $messageRegExp = self::parseAnnotationContent($annotations['method']['expectedExceptionMessageRegExp'][0]);
            }
            if (isset($matches[3])) {
                $code = $matches[3];
            } elseif (isset($annotations['method']['expectedExceptionCode'])) {
                $code = self::parseAnnotationContent($annotations['method']['expectedExceptionCode'][0]);
            }
            if (is_numeric($code)) {
                $code = (int) $code;
            } elseif (is_string($code) && defined($code)) {
                $code = (int) constant($code);
            }
            return ['class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp];
        }
        return false;
    }

Usage Example

Пример #1
0
 public function testGetExpectedException()
 {
     $this->assertEquals(array('class' => 'FooBarBaz', 'code' => 0, 'message' => ''), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testOne'));
     $this->assertEquals(array('class' => 'Foo_Bar_Baz', 'code' => 0, 'message' => ''), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testTwo'));
     $this->assertEquals(array('class' => 'Foo\\Bar\\Baz', 'code' => 0, 'message' => ''), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testThree'));
     $this->assertEquals(array('class' => 'ほげ', 'code' => 0, 'message' => ''), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testFour'));
     $this->assertEquals(array('class' => 'Class', 'code' => 1234, 'message' => 'Message'), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testFive'));
     $this->assertEquals(array('class' => 'Class', 'code' => 1234, 'message' => 'Message'), PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testSix'));
 }
All Usage Examples Of PHPUnit_Util_Test::getExpectedException