PHPUnit, дразнившие интерфейсы и instanceof

Иногда в моем коде, я проверю, чтобы видеть, реализует ли конкретный объект интерфейс:

if ($instance instanceof Interface) {};

Однако создавая насмешки для упомянутого интерфейса в PHPUnit, я, может казаться, не прохожу тот тест.

 // class name is Mock_Interface_431469d7, does not pass above check
 $instance = $this->getMock('Interface'); 

Я понимаю, что, называя класс Интерфейс отличается от Интерфейса реализации класса, но я не уверен, как получить соглашение с этим.

Я вынужден дразнить реальный класс, который реализует Интерфейс? Разве это не победило бы цель использовать интерфейс для мобильности?

Спасибо

36
задан Bryan M. 14 July 2010 в 21:01
поделиться

1 ответ

У меня это работает:

$mock = $this->getMock('TestInterface');
$this->assertTrue($mock instanceof TestInterface);

Может быть, это опечатка или, может быть, $ instance не то, что вы думаете?

40
ответ дан 27 November 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: