2016-09-09 3 views
0

würde ich gerne Stacktrace meiner Ausnahme von der Konsole melden, so dass, wenn ich habe:BeforeStories Ausnahme

@BeforeStories 
public void init() { 
    throw new RuntimeException("omg"); 
} 

Ich möchte müssen:

java.lang.RuntimeException: omg 
    at com.mycompany.MyClass.init(MyClass.java:69) 

Ist das möglich?

Antwort

0

Ich bin mir nicht sicher, ob ich verstehe, was Sie erreichen möchten, da das Auslösen der Ausnahme bereits einen Fehler bei der Konsole protokollieren sollte.

aber wenn Sie wollen nur die Ausnahmemeldung ausdrucken und tracestack Sie die Linie tun können, um die Konsole unten, obwohl es ziemlich schrecklich sollte es Ihnen, was Sie wollen:

@BeforeStories 
public void runBeforeAllStories() { 
    new RuntimeException("omg").printStackTrace(); 
} 

die Anwendung ausgeführt wird fortgesetzt, aber wird Ausgabe der Text in der Konsole:

java.lang.RuntimeException: OMG bei jbehave.sample.steps.LifecycleSteps.runBeforeAllStories (LifecycleSteps.java:31) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (Mutter Verfahren) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java : 498 org.jbehave.core.steps.StepCreator $ MethodInvoker.invoke (StepCreator.java:805) bei org.jbehave.core.steps.StepCreator $ BeforeOrAfterStep.perform (StepCreator.java:491) at) bei org.jbehave.core.embedder.PerformableTree $ FineSoFar.run (PerformableTree.java:340) bei org.jbehave.core.embedder.PerformableTree $ PerformableSteps.perform (PerformableTree.java:1072) bei org.jbehave.core.embedder.PerformableTree.performBeforeOrAfterStories (PerformableTree.java:427) bei org.jbehave.core.embedder.StoryManager.performStories (StoryManager.java:117) bei org.jbehave.core.embedder .StoryManager.runStories (StoryManager.java:107) bei org.jbehave.core.embedder.StoryManager.runStoriesAsPaths (StoryManager.java:86) bei org.jbehave.core.embedder.Embedder.runStoriesAsPaths (Embedder.java : 213) bei jbehave.sample.common.StoriesTest.run (StoriesTest.java:161) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) bei org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:47) bei org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) bei org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:44) bei org.junit.internal.runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17) bei org.junit.runners.ParentRunner.runLeaf (ParentRunner.java:271) bei org.junit.runners.BlockJUnit4ClassRunner .runChild (BlockJUnit4ClassRunner.ja va: 70) unter org.junit.runner.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:50) bei org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:238) um ​​ org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:63) bei org.junit.runners.ParentRunner.runChildren (ParentRunner.java:236) bei org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:53) bei org.junit.runners.ParentRunner $ 2.Bewertung (ParentRunner.java:229) um org.junit.runners.ParentRunner.run (ParentRunner.java:309) um org.junit.runner.JUnitCore.run (JUnitCore.java:160) um com.intellij.junit4. JUnit4IdeaTestRunner.startRunnerWithArgs (JUnit4IdeaTestRunner.java:117) um com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithA RGS (JUnit4IdeaTestRunner.java:42) bei com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart (JUnitStarter.java:262) bei com.intellij.rt.execution.junit.JUnitStarter.main (JUnitStarter. java: 84)

0

vor allem ich schätze es, dass Sie Ihre Ausnahme auf eine lustige Art und Weise zeigen möchten. Sie können Ihre Ausnahme wie das Hinzufügen von Würfen als Ausnahme zur @BeforeStories-Methode wie folgt ausdrücken.

@BeforeStories 
public void init() throws Exception{ 
    throw new RuntimeException("omg"); 
}