Я пишу пакет, который хотел бы написать тесты в Пророчестве вместо Насмешливости . Класс пакета Bar
имеет метод sayName
, для которого требуется объект, реализующий FooInterface
в качестве параметра.
В Mockery нет проблем для создания макета несуществующего класса:
<?php
use \Prophecy\Prophet;
use \Mockery;
class Bar
{
public function sayName(\FooInterface $foo)
{
echo $foo->test();
}
}
$mock = Mockery::mock('Foo', 'FooInterface');
$mock->shouldReceive('test')->times(1)->andReturn('This is a mock test');
$bar = new Bar();
$bar->sayName($mock);
дает:
Это пробный тест
Как добиться того же с Пророчеством ?