2016-07-15 25 views
0

Ich implementiere Munit für einen Flow, der Mule Requester involviert. Dieser Mule-Requester würde eine Datei aufnehmen.MUnit-Test schlägt fehl - Event kann nicht verarbeitet werden, weil "FileConnector" gestoppt wurde

Also, wenn ich die Java-Klasse als Junit ausführen, löst es eine Ausnahme als, Kann den Vorgang auf dem FileConnector nicht ausführen, wie es gestoppt ist.

Der Ausdruck in mule Anforderer verwendet wird,

file: // $ {path} connector = FileConnector

Ich habe definiert auch einen globalen Datei-Anschluss.

Bitte lassen Sie mich wissen, wie Sie dieses Problem beheben können.

Vielen Dank.

Antwort

1

Alle Connectors und Inbound-Endpoints sind in MUnit standardmäßig deaktiviert. Dies soll verhindern, dass der Fluss versehentlich reale Daten verarbeitet/erzeugt. (Einige Erklärung here). Aus dem gleichen Grund ist File Connector auch deaktiviert.

Anschlüsse zu aktivieren, müssen Sie eine Methode in Ihrer MUnitsuite außer Kraft zu setzen, wie unten -

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

Für XML MUNIT finden this Anschlüsse zu ermöglichen.

Hinweis: Dies aktiviert und startet alle Konnektoren, die Sie in Ihren zu testenden mule-configs verwenden. Wenn Sie einen SMTP-Connector, einen DB-Connector, einen MQ-Connector usw. haben, werden sie alle während des Tests gestartet. Verwenden Sie diese daher mit Vorsicht.

+0

Danke Manik .. Es funktioniert jetzt. Aber warum kann es nicht funktionieren, wenn wir den Schein deaktivieren. Im Idealfall wird empfohlen, keine Verbindung zu Endpunkten herzustellen. –

+0

Ja, es wird empfohlen, eingehende Endpoints und Connectors zu mokieren, und sie werden standardmäßig verspottet. Wenn Sie Connectors verspottet haben, müssten Sie auch Ihre ** Outbound-Endpoints ** vortäuschen. Wenn Sie also den 'mulerequester: request

0

Überprüfen Sie, ob der Dateikonnektor in den Dateien definiert ist, die Sie für munit geladen haben.

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

Sie können auch versuchen, den Mule Requester zu verspotten.