PhpSpec — имитировать параметр с другим

Я хотел бы знать, что это возможно игнорировать Exception в методе и силе использовать willReturn метод?

У меня есть пример:

Теоретически, Трансформер должен иметь одно и то же имя объекта (через this->getClassName)
Но в этом случае, как я могу сделать, потому что мой SimpleEntity а также TransformerInterface не то же самое.

class JsonViewTransformer
{
private $transformers = [];

public function testTransformer(View $view)
{
$entity = $view->getData();
$this->getTransformerFromEntity($entity);
}

public function addTransformer(TransformerInterface $transformer)
{
$this->transformers[$this->getClassName($transformer)] = $transformer;
}

private function getTransformerFromEntity($entity)
{
$entityName = $this->getClassName($entity);

if (!array_key_exists($entityName, $this->transformers)) {
throw new ClassNotFoundException(sprintf('%s does not exist', $entityName), new \ErrorException());
}

return $this->transformers[$entityName];
}

private function getClassName($object)
{
$FQCNObject = get_class($object);
$objectName = substr($FQCNObject, strrpos($FQCNObject, '\\') + 1);

return $objectName;
}
}

В тестовом файле:

function it_returns_json_from_tranformer(View $view, SimpleEntity $entity, TransformerInterface $transformer)
{
$entity->getId()->willReturn(1);
$entity->getName()->willReturn('foo');
$entity->getAge()->willReturn(42);

$transformer->transform($entity)->willReturn([
'id',
'name',
'age',
]);

$view->getData()->willReturn($entity);

$this->addTransformer($transformer);
$this->testTransformer($view);
}

Итак, у меня есть это сообщение об ошибке:

  15  - it returns json from tranformer
exception <label>[exc:Symfony\Component\Debug\Exception\ClassNotFoundException("P1 does not exist")]</label> has been thrown.

У вас есть идея для такого рода проблем?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]