2017-08-29 3 views
1

Ich habe eine Route für die Dateiübertragung. Zwischendurch muss ich in die Audit-Tabelle einfügen und einige minimale Informationen protokollieren. Die Route funktioniert gut, aber ich kann die Kameleinheit nicht testen.Camel Einheit Testfall Problem

public class EobRequestTest extends CamelBlueprintTestSupport { 
    @Test 
    public void testRoute() throws Exception { 
    MockEndpoint mock = getMockEndpoint("file:{{outBound.ftp.url}}"); 
    mock.expectedMessageCount(1); 
    template.sendBody("file:{{intBound.ftp.url}}", getInputFile());   
    mock.assertIsSatisfied(); 
    } 

    @Override 
    public String isMockEndpoints(){ 
    return "*"; 
    } 

    private File getInputFile() throws Exception { 
    return FileUtils.getFile("src", "test", "resources","test.xml"); 
    } 
} 

Nun, wenn ich das obige Testfall laufen, erhalte ich die Datei erwähnt, „test.xml“, zu den ursprünglichen Ausgabeordner übertragen. Außerdem werden alle db-Operationen ausgeführt. Ich habe versucht, isMockEndpointsAndSkip anstelle von isMockEndpoints wie folgt zu verwenden.

@Override 
public String isMockEndpointsAndSkip(){ 
    return "*"; 
} 

Aber jetzt ist es Testfehler

java.lang.AssertionError werfen: Mock: // Datei: D:/Ausgabe Empfangene Nachrichtenanzahl. Erwartet: < 1> aber war: < 0>

Fehle ich hier etwas? Bitte helfen Sie.

Antwort

0

Um den MockEndpoint zu erhalten, müssen Sie das Präfix "mock:" hinzufügen.

MockEndpoint mock = getMockEndpoint("mock:file:{{outBound.ftp.url}}"); 
+0

hat nicht funktioniert. Immer noch der Testfehler – praveenps

Verwandte Themen