Мне нужно функционально протестировать подписчика в Symfony 4, и у меня возникают проблемы с поиском как. Подписчик имеет следующую структуру:
/**
* Class ItemSubscriber
*/
class ItemSubscriber implements EventSubscriberInterface
{
/**
* @var CommandBus
*/
protected $commandBus;
/**
* Subscriber constructor.
*
* @param CommandBus $commandBus
*/
public function __construct(CommandBus $commandBus)
{
$this->commandBus = $commandBus;
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents()
{
return [
CommandFailedEvent::NAME => 'onCommandFailedEvent',
];
}
/**
* @param CommandFailedEvent $event
*
* @throws Exception
*/
public function onCommandFailedEvent(CommandFailedEvent $event)
{
$item = $event->getItem();
$this->processFailed($item);
}
/**
* Sends message
*
* @param array $item
*
* @throws Exception
*/
private function processFailed(array $item)
{
$this->commandBus->handle(new UpdateCommand($item));
}
}
Поток подписчика получает внутреннее событие и отправляет сообщение кроликом через командную шину в другой проект.
Как это проверить? отправка события CommandFailedEvent
выполняется строка в processFailed(array $item)
?
Есть ли у кого-нибудь документация по передовым методам тестирования событий и подписчиков в Symfony 4?