2016-07-15 5 views
0

Я реализую Munit для потока, который включает в себя Mule Requester. Этот запросчик мула будет собирать файл.Ошибка MUnit - невозможно обработать событие, поскольку «FileConnector» остановлен

Итак, когда я запускаю класс java как Junit, он выдает исключение как: Не удается выполнить операцию в FileConnector по мере ее остановки.

Выражение, используемое в мул запрашивающей есть

файл: // $ {путь} разъем = FileConnector

Я также определил глобальный разъем файла.

Пожалуйста, дайте мне знать, как решить эту проблему.

спасибо.

ответ

1

Все соединители и входящие конечные точки по умолчанию отключены в MUnit. Это делается для предотвращения случайной обработки/генерации реальных данных. (Некоторое объяснение here). По той же причине File Connector также отключен.

Чтобы включить разъемы, необходимо переопределить метод в вашем MUnitsuite ниже -

@Override 
protected boolean haveToMockMuleConnectors() { 
    return false; 
} 

Для XML MUNIT см this для того, чтобы разъемы.

Примечание: Это позволит включить и запустить все разъемы, которые вы используете в тестируемых mule-config. Если у вас есть разъем SMTP, разъем DB, разъем MQ и т. Д., Все они запускаются во время теста, поэтому используйте его с осторожностью.

+0

Спасибо Manik .. Это действительно работает. Однако почему он не работает, когда мы отключаем макет. В идеале рекомендуется не подключаться к конечным точкам. –

+0

Да, рекомендуется оставлять входящие конечные точки и разъемы посмеяны, и по умолчанию они издеваются. Если вы сочтете разъемы разъединенными, вам также нужно будет высмеять ваши ** исходящие конечные точки **. Поэтому, если вы издеваетесь над 'mulerequester: request', который запускает ваш файловый коннектор, вам не нужно будет развязывать разъемы. –

0

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

<spring:beans> 
    <spring:import resource="classpath:api.xml"/> 
</spring:beans> 

Возможно, вы также попробуете насмешливо запросить мула.