ich eine @SpringBootApplication Klasse in java/
Verzeichnis (die gleiche Paket) und eine andere @SpringBootApplication Klasse habe in test/
für einige Autos-verdrahteten Bohnen spöttisch. Es gibt mehrere Tests und die verwendete Konfiguration variiert von Test zu Test.Ausschließen eine Konfiguration, wenn @WebMvcTest im Frühjahr Boot-1.4
Und in einer Testklasse
@RunWith(SpringRunner.class)
@WebMvcTest(RecApiServerController.class)
wirft
java.lang.IllegalStateException: Found multiple @SpringBootConfiguration annotated classes [Generic bean: class [com.xxx.MockedTestConfig]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [/..direction.../target/test-classes/com/xxx/MockedTestConfig.class], Generic bean: class [com.xxx.MyApplication]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [/...direction.../target/classes/com/xxx/MyApplication.class]]
I Routing eines Controllers nur testen möchten.
Wie kann ich eine spezifische Anwendungskonfiguration?
Ich habe 'MockedTestConfig.class' in reguläre @Configuration geändert und' classes = {MyApplication.class, MockedTestConfig.class} 'in @SpringBootTest hinzugefügt, und alle Tests funktionierten einwandfrei. Sie haben es vorher nicht getan, also habe ich es in @SpringBootApplication geändert. Ich denke, die Reihenfolge in den Klassen war zu dieser Zeit falsch. Vielen Dank. :) – margincall