2016-09-25 2 views
0

haben eine ausführbare jar implementiert mit Spring-Boot. aber ich weiß nicht, wie man den integrationTest schreibt.Spring-Boot CommandLineRunner UnitTest

nehmen Sie diese Prevent Application/CommandLineRunner classes from executing during JUnit testing als Referenz. , aber eine Ausnahme erhalten.

java.lang.IllegalStateException: Failed to load ApplicationContext 
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) 
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) 
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117) 
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) 
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:228) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:230) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:249) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:193) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

Verursacht durch: org.springframework.beans.factory.UnsatisfiedDependencyException: Fehler in Bohne mit dem Namen 'documentationPluginsBootstrapper' definiert URL

haben zwei Hauptfragen zu schaffen. 1.Übergeben der Argumente der Befehlszeile.

2. Führen Sie den Komponententest aus, ohne einen Spring Boot-Server auszuführen.

einmal Annotation mit @SpringApplicationConfiguration (Klassen = {ApplicationBootstrap.class,}

kann nicht Command param passieren.

Antwort

0

Ich bin über die Quelle Ihrer Fehler dort nicht sicher, aber ich könnte in der Lage sein, ein wenig mit Ihren Fragen zu helfen

1. Diese Frage für Sie eine Lösung bietet. Pass command line arguments to JUnit test case being run programmatically Grundsätzlich können Sie System.setProperty(String name, String value) verwenden Argumente festlegen in @Before oder @BeforeClass.

2. Ich bin ein bisschen mehr skizzenhaft, aber nach meinem Wissen Frühling erstellt/zerstört dies automatisch für Sie. Wenn Sie die Wahl haben, habe ich es noch nicht gefunden.

+0

Ich beende das Testen für arguments.just schreiben Test für meinen Dienst –