2017-07-26 3 views
0

Ich habe eine Spring-Boot-Anwendung. In der mit @SpringBootApplication annotierten Hauptklasse habe ich einige Konfigurationen mithilfe der Importannotation importiert.So überschreiben Sie die Importanmerkung für den Frühling

@SpringBootApplication 
@Import({ MyConfiguration.class }) 
public class MySpringBootApp { 

    public static void main(String[] args) { 
     new SpringApplicationBuilder(MySpringBootApp.class).build().run(args); 
    } 
} 

Nun, wenn ich meine JUnit-Testklasse laufen, kommentierte mit „@RunWith (SpringRunner.class)“, lädt es die Anwendung, und die importierten Configuartion Klassen in der Hauptklasse, sind ebenfalls geladen (dh MyConfiguration).

Gibt es eine Möglichkeit, den Import zu überschreiben, so dass MyConfiguration beim Ausführen von Tests nicht geladen wird.

Antwort

1

Ich verstehe, dass Sie einen SpringRunner verwenden müssen, aber Sie möchten eine andere Konfiguration verwenden. In diesem Fall mit Anmerkungen versehen Sie einfach Ihre Test-Klasse mit @ContextConfiguration(classes = SomeConfigurationClass.class)

So würde es so aussehen:

@RunWith(SpringRunner.class) 
@ContextConfiguration(classes = SomeConfigurationClass.class) 
public class MyTest { 
.... 
} 

Wenn Sie keine Feder Container möchten, entfernen Sie einfach @RunWith(...)

Verwandte Themen