Я хотел бы знать, что это возможно игнорировать 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.
У вас есть идея для такого рода проблем?
Задача ещё не решена.
Других решений пока нет …