Ответы пользователя по тегу PHP
  • Как правильно тестировать интерфейсы с использованием PHPUnit?

    @dbelka
    Странно, должно работать
    $object = $this->getMock(MyInterface::class);
    Так создается класс с пустой реализацией интерфейса, т.е. несоответствия типов быть не может. Единственная проблема, которая может возникнуть это методы, которые по-умолчанию ничего не возвращают, например у вас коде цепочка вызовов типа :
    $obj->setId(1)
        ->setName("name");


    в этом случаем нужно отдельно описать заглушку для методов:
    $object->expects($this->any())->method("setId")->willReturnSelf();


    Может у вас какой-то старый PHPUnit, у меня стоит версия 5.2.4
    Ответ написан