PHPUnit: Как утверждать, что класс расширяет другой класс? - PullRequest
15 голосов
/ 06 октября 2011

В моем тесте PHPUnit я хотел бы заявить, что класс, который я тестирую, расширяет другой класс. Как я могу сделать это с PHPUnit?

Ответы [ 4 ]

17 голосов
/ 07 октября 2011

Используйте assertInstanceOf() вместо встроенных в PHP операторов или функций instanceof, чтобы получить осмысленное сообщение об ошибке.

function testInstanceOf() {
    $obj = new Foo;
    self::assertInstanceOf('Bar', $obj);
}

...

Failed asserting that <Foo> is an instance of class "Bar".
1 голос
/ 06 октября 2011

is_subclass_of() (или, возможно, is_a()) может быть тем, что вы ищете.

1 голос
/ 06 октября 2011

Как насчет использования instanceof?

-> http://php.net/manual/en/internals2.opcodes.instanceof.php

0 голосов
/ 07 июня 2017

Или также вы должны использовать это утверждение следующим образом:

    $this->assertSame(
        'Symfony\Component\Form\AbstractType',
        get_parent_class('AppBundle\Form\CarType'),
        'The form does not extend the AbstractType class'
        );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...