Looks like some are reported as pending, meaning you have not properly defined the matching pattern between step and method.
By default, pending steps do not fail the scenario. But you can configure it to do so. http://jbehave.org/reference/stable/pending-steps.html Hope that helps. On 22/07/2011 16:58, [email protected] wrote: > Hello, > > I'm using JBehave together with Selenium, JUnit and the maven failsafe plugin > to run a bunch of integration tests. However I've hit a bit of a surprising > problem. Some of the stories that run and and fail are not recorded as failed > tests by JUnit. I can clearly see in the logs that JBehave prints stack > traces > that have occured while running the story, but somehow this doesn't > propagate the exception high enough for JUnit to catch it and mark the story > as failed. > > The weird thing is that this does not occur for all stories. Some stories > that > print similar stack traces are marked as failed, but some aren't (see log in > the > PS). All my story classes extend JUnitStory with the Configuration set up > just > like in the JBehave tutorial samples. > > I must be doing something wrong, but I can't figure out what. Does anybody > have an idea? > > Thanks for your help, > > Nicolas Piguet > > PS: one of the logs that leaves me scratching my head: > > Running it.WorkspaceStateStory > > (BeforeStories) > > Using 1 threads > Running story it/workspace_state_story.story > > (it/workspace_state_story.story) > Scenario: Reset Panels layout > When the user opens the home page > And the user clicks on the menu to reset layout > Then no panel is maximized > And no panel is closed > And no panel is detached (PENDING) > > Scenario: Maximize the quotes panel > When the user opens the home page > And the user clicks on the menu to reset layout > And the user maximizes the quotes_list panel > Then the quotes_list panel is maximized (FAILED) > (com.thoughtworks.selenium.SeleniumException: missing ) after argument list) > > com.thoughtworks.selenium.SeleniumException: missing ) after argument list > at > com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExce > ptionOrError(HttpCommandProcessor.java:100) > at > com.thoughtworks.selenium.HttpCommandProcessor.doCommand > (HttpCommandProcessor.java:94) > at com.thoughtworks.selenium.DefaultSelenium.waitForCondition > (DefaultSelenium.java:639) > at it.steps.HomePageSteps.waitForElementPresent > (HomePageSteps.java:212) > at it.steps.HomePageSteps.thePanelIsMaximized > (HomePageSteps.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.jbehave.core.steps.StepCreator$ParameterizedStep.perform > (StepCreator.java:456) > at org.jbehave.core.embedder.StoryRunner$FineSoFar.run > (StoryRunner.java:394) > at > org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState > (StoryRunner.java:381) > at org.jbehave.core.embedder.StoryRunner.runScenarioSteps > (StoryRunner.java:352) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:245) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:163) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:686) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:650) > at > org.jbehave.core.embedder.Embedder$NonThreadingExecutorService.submit > (Embedder.java:588) > at org.jbehave.core.embedder.Embedder.submit > (Embedder.java:244) > at org.jbehave.core.embedder.Embedder.enqueueStory > (Embedder.java:237) > at org.jbehave.core.embedder.Embedder.runStoriesAsPaths > (Embedder.java:197) > at org.jbehave.core.junit.JUnitStory.run(JUnitStory.java:24) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) > at org.junit.internal.runners.MethodRoadie.runTestMethod > (MethodRoadie.java:98) > at org.junit.internal.runners.MethodRoadie$2.run > (MethodRoadie.java:79) > at > org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters > (MethodRoadie.java:87) > at org.junit.internal.runners.MethodRoadie.runTest > (MethodRoadie.java:77) > at org.junit.internal.runners.MethodRoadie.run > (MethodRoadie.java:42) > at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod > (JUnit4ClassRunner.java:88) > at org.junit.internal.runners.JUnit4ClassRunner.runMethods > (JUnit4ClassRunner.java:51) > at org.junit.internal.runners.JUnit4ClassRunner$1.run > (JUnit4ClassRunner.java:44) > at org.junit.internal.runners.ClassRoadie.runUnprotected > (ClassRoadie.java:27) > at org.junit.internal.runners.ClassRoadie.runProtected > (ClassRoadie.java:37) > at org.junit.internal.runners.JUnit4ClassRunner.run > (JUnit4ClassRunner.java:42) > at org.apache.maven.surefire.junit4.JUnit4TestSet.execute > (JUnit4TestSet.java:59) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet > (AbstractDirectoryTestSuite.java:120) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute > (AbstractDirectoryTestSuite.java:103) > at org.apache.maven.surefire.Surefire.run(Surefire.java:169) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess > (SurefireBooter.java:350) > at org.apache.maven.surefire.booter.SurefireBooter.main > (SurefireBooter.java:1021) > > Scenario: Minimize the quotes panel > When the user opens the home page > And the user minimizes the quotes_list panel > Then the quotes_list panel is minimized (FAILED) > (com.thoughtworks.selenium.SeleniumException: missing ) after argument list) > > com.thoughtworks.selenium.SeleniumException: missing ) after argument list > at > com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExce > ptionOrError(HttpCommandProcessor.java:100) > at > com.thoughtworks.selenium.HttpCommandProcessor.doCommand > (HttpCommandProcessor.java:94) > at com.thoughtworks.selenium.DefaultSelenium.waitForCondition > (DefaultSelenium.java:639) > at it.steps.HomePageSteps.waitForElementAbsent > (HomePageSteps.java:216) > at it.steps.HomePageSteps.thePanelIsMinimized > (HomePageSteps.java:152) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.jbehave.core.steps.StepCreator$ParameterizedStep.perform > (StepCreator.java:456) > at org.jbehave.core.embedder.StoryRunner$FineSoFar.run > (StoryRunner.java:394) > at > org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState > (StoryRunner.java:381) > at org.jbehave.core.embedder.StoryRunner.runScenarioSteps > (StoryRunner.java:352) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:245) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:163) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:686) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:650) > at > org.jbehave.core.embedder.Embedder$NonThreadingExecutorService.submit > (Embedder.java:588) > at org.jbehave.core.embedder.Embedder.submit > (Embedder.java:244) > at org.jbehave.core.embedder.Embedder.enqueueStory > (Embedder.java:237) > at org.jbehave.core.embedder.Embedder.runStoriesAsPaths > (Embedder.java:197) > at org.jbehave.core.junit.JUnitStory.run(JUnitStory.java:24) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) > at org.junit.internal.runners.MethodRoadie.runTestMethod > (MethodRoadie.java:98) > at org.junit.internal.runners.MethodRoadie$2.run > (MethodRoadie.java:79) > at > org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters > (MethodRoadie.java:87) > at org.junit.internal.runners.MethodRoadie.runTest > (MethodRoadie.java:77) > at org.junit.internal.runners.MethodRoadie.run > (MethodRoadie.java:42) > at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod > (JUnit4ClassRunner.java:88) > at org.junit.internal.runners.JUnit4ClassRunner.runMethods > (JUnit4ClassRunner.java:51) > at org.junit.internal.runners.JUnit4ClassRunner$1.run > (JUnit4ClassRunner.java:44) > at org.junit.internal.runners.ClassRoadie.runUnprotected > (ClassRoadie.java:27) > at org.junit.internal.runners.ClassRoadie.runProtected > (ClassRoadie.java:37) > at org.junit.internal.runners.JUnit4ClassRunner.run > (JUnit4ClassRunner.java:42) > at org.apache.maven.surefire.junit4.JUnit4TestSet.execute > (JUnit4TestSet.java:59) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet > (AbstractDirectoryTestSuite.java:120) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute > (AbstractDirectoryTestSuite.java:103) > at org.apache.maven.surefire.Surefire.run(Surefire.java:169) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess > (SurefireBooter.java:350) > at org.apache.maven.surefire.booter.SurefireBooter.main > (SurefireBooter.java:1021) > > Scenario: Close the chart panel > When the user opens the home page > And the user clicks on the menu to reset layout > And the user closes the chart panel > Then the chart panel is closed > And the other panels than chart are visible (FAILED) > (com.thoughtworks.selenium.SeleniumException: Timed out after 5000ms) > > com.thoughtworks.selenium.SeleniumException: Timed out after 5000ms > at > com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExce > ptionOrError(HttpCommandProcessor.java:100) > at > com.thoughtworks.selenium.HttpCommandProcessor.doCommand > (HttpCommandProcessor.java:94) > at com.thoughtworks.selenium.DefaultSelenium.waitForCondition > (DefaultSelenium.java:639) > at it.steps.HomePageSteps.waitForElementPresent > (HomePageSteps.java:212) > at it.steps.HomePageSteps.theOtherPanelsAreVisible > (HomePageSteps.java:175) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.jbehave.core.steps.StepCreator$ParameterizedStep.perform > (StepCreator.java:456) > at org.jbehave.core.embedder.StoryRunner$FineSoFar.run > (StoryRunner.java:394) > at > org.jbehave.core.embedder.StoryRunner.runStepsWhileKeepingState > (StoryRunner.java:381) > at org.jbehave.core.embedder.StoryRunner.runScenarioSteps > (StoryRunner.java:352) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:245) > at org.jbehave.core.embedder.StoryRunner.run > (StoryRunner.java:163) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:686) > at org.jbehave.core.embedder.Embedder$EnqueuedStory.call > (Embedder.java:650) > at > org.jbehave.core.embedder.Embedder$NonThreadingExecutorService.submit > (Embedder.java:588) > at org.jbehave.core.embedder.Embedder.submit > (Embedder.java:244) > at org.jbehave.core.embedder.Embedder.enqueueStory > (Embedder.java:237) > at org.jbehave.core.embedder.Embedder.runStoriesAsPaths > (Embedder.java:197) > at org.jbehave.core.junit.JUnitStory.run(JUnitStory.java:24) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) > at org.junit.internal.runners.MethodRoadie.runTestMethod > (MethodRoadie.java:98) > at org.junit.internal.runners.MethodRoadie$2.run > (MethodRoadie.java:79) > at > org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters > (MethodRoadie.java:87) > at org.junit.internal.runners.MethodRoadie.runTest > (MethodRoadie.java:77) > at org.junit.internal.runners.MethodRoadie.run > (MethodRoadie.java:42) > at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod > (JUnit4ClassRunner.java:88) > at org.junit.internal.runners.JUnit4ClassRunner.runMethods > (JUnit4ClassRunner.java:51) > at org.junit.internal.runners.JUnit4ClassRunner$1.run > (JUnit4ClassRunner.java:44) > at org.junit.internal.runners.ClassRoadie.runUnprotected > (ClassRoadie.java:27) > at org.junit.internal.runners.ClassRoadie.runProtected > (ClassRoadie.java:37) > at org.junit.internal.runners.JUnit4ClassRunner.run > (JUnit4ClassRunner.java:42) > at org.apache.maven.surefire.junit4.JUnit4TestSet.execute > (JUnit4TestSet.java:59) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet > (AbstractDirectoryTestSuite.java:120) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute > (AbstractDirectoryTestSuite.java:103) > at org.apache.maven.surefire.Surefire.run(Surefire.java:169) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess > (SurefireBooter.java:350) > at org.apache.maven.surefire.booter.SurefireBooter.main > (SurefireBooter.java:1021) > > Scenario: Reopen the chart panel > When the user opens the home page > And the user clicks to toggle chart panel view > Then the chart panel is visible > > > (AfterStories) > > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.225 sec > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
