2016-05-05 23 views
1

Ich habe einige Platzhalter in meinem Fluss. Werte für diese Platzhalter werden in einer Eigenschaftendatei angegeben (in Klassenpfad). Ich mache Munit mit Java. Derzeit werden diese Platzhalter nicht durch Werte in der Eigenschaftendatei ersetzt. Irgendeine Idee, wie lade ich diese Akte, während ich munit laufe?laden Eigenschaften in mule munit

Meine munit ist wie folgt:

Class MyClass extends FunctionalMunitSuite{ 

    @Override 
    protected String getConfigResources() { 

     //try 1[gave give value pairs directly]: didnt worked 
     System.getProperties().put("prop.key", "value"); 

     //try2[load prop files]:didn't worked 
     prop.load(this.getClass().getResourceAsStream("mypropertyfile.properties")); 
     System.setProperties(prop); 
    } 

} 

Antwort

0

Zur Zeit können Sie Ihre Dateien in /src/main/resources versuchen werden, die sie setzen in /src/test/resources

2

Geben Sie unter Überschreiben getConfigResources() eine test-config.xml an, die über den Platzhalter für Monitore und Kontexteigenschaften der Eigenschaftendatei verfügt. Bewahren Sie diese Testeigenschaften in src/Test-Datei/Ressourcen

@Override 
    protected String getConfigResources() { 
     return "mule-config-test.xml" + ",actual-flow-to-test.xml"; 
    } 

Innen mule-config-test.xml, Testeigenschaft Datei wie folgt definieren:

<context:property-placeholder ignore-resource-not-found="true" location="wmo-mule-app.properties,wmo-mule-app-unit-test.properties" /> 

In diesem Fall wmo-mule-app.properties ist meine eigentliche App-Property-Datei während wmo-mule-app-unit-test.properties das ist überragende Eigenschaftendatei für Unit-Test. Diese Komponententesteigenschaftsdatei hat Vorrang vor wmo-mule-app.properties