wie starte ich eine Route in einem Camel-Test mit verspotteten Endpunkten

8

Ich beginne mit Camel und habe Probleme beim Schreiben eines Tests. Mein Anwendungsfall entspricht genau dem Beispiel cfx proxy . Außer dass ich den "RealWebservice" nicht benötige. Jetzt versuche ich einen Komponententest zu schreiben (nicht einen Integrationstest wie im Beispiel), indem ich den Annotationsansatz verwende:

%Vor%

Der CxfEndpoint empfängt die Nachricht , die anderen Endpunkte jedoch nicht.

Die Route sieht so aus (sie funktioniert, wenn ich sie ausführe und eine Nachricht mit SoapUI sende, offensichtlich habe ich die ips und beannames in diesem Beispiel verschleiert):

%Vor%

Was mache ich falsch? Alle Beispiele und andere Fragen, die ich gefunden habe, scheinen "direct: start" zu verwenden oder den Produktionsweg zu ändern.

    
Nicolas Mommaerts 15.01.2013, 11:00
quelle

1 Antwort

4

Ein Ansatz, den wir erfolgreich verwendet haben, ist die Verwendung verschiedener Eigenschaftendateien für die Testausführung und für den Hauptcode.

Wir definieren innerhalb des Kamelkontexts die Eigenschaft

%Vor%

Im Ordner /src/main/resources/META-INF/ haben wir die Datei uri.properties für den Hauptcode und /src/test/resources/META-INF/ haben wir die uri.properties für die Testausführung.

Ihre Route muss unter Verwendung der Eigenschaft {{properties.name}}

anstelle der echten uri-Werte mithilfe des Platzhalters der Eigenschaft neu geschrieben werden %Vor%

Die wichtigsten uri.properties werden

sein %Vor%

Der Test uri.properties wird

sein %Vor%

Mit dieser Konfiguration können Sie Ihre Route einfach testen.

    
MPavesi 16.09.2013, 22:55
quelle

Tags und Links