Re: [jbehave-user] Better JUnit reporting result view
I wanted to suggest that the JBehave people add such a feature to JBehave. It does not make much sense to me to run it as JUnit test and seeing nearly nothing in the JUnit view but only in the logs. And a good quality of this feature would be more likely. Besides this, the Codecentric addon is not as I expect it. If a story has given stories then the JUnit view does not show the given stories (which must be executed first) but only the actual story. As ist seems Codecentric does not use the GivenStories as they are inteded by JBehave, because they seem to be using them just to read common data (this is how they consulted a cutomer to do). But okay, here is the Stacktrace for you. Maybe you can fix and improve it: Reports view generated with 0 stories (of which 0 pending) containing 0 scenarios (of which 0 pending) java.lang.RuntimeException: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in running stories: stories/logout.story: org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: stories/logout.story at de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:81) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in running stories: stories/logout.story: org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: stories/logout.story at org.jbehave.core.embedder.Embedder$ThrowingRunningStoriesFailed.handleFailures(Embedder.java:495) at org.jbehave.core.embedder.Embedder.handleFailures(Embedder.java:224) at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:205) at de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:79) ... 6 more 2013/9/27 Robert Hostlowsky > Hi Hans, > > thanks for your description. So there is a problem when running this > in the Eclipse junit view, right? > Can you provide a short snapshot, or just the stacktrace from the console > view? > > Thx, Robert > -- > > Robert Hostlowsky | Senior Software Developer | Agile Software Factory > > codecentric AG | Landsberger Straße 302 | 80687 München | Deutschland > www.codecentric.de > > | blog.codecentric.de > | www.meettheexperts.de > | www.more4fi.de > > 2013/9/27 Hans Schwäbli : > > As it seems some people from Codecentric have written a custom > JUnit-Runner > > for JBehave. > > > > It shows what stories and scenarios are run in the Eclipse JUnit view, > even > > hierarchical. > > > > https://github.com/codecentric/jbehave-junit-runner > > > https://blog.codecentric.de/files/2012/06/JBehave_JUnit_Results_for_Scenarios_and_Steps.png > > > > But it does not seem to work correctly for jbehave-web-3.6 since a > exception > > occurs. > > > > Maybe some talented guy can contribute such an feature to JBehave? > > > > I would contribute it myself, but I don't know the JBehave and JUnit > details > > good enough. > > - > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >
Re: [jbehave-user] Better JUnit reporting result view
Sorry for a bit of off topic, but jbehave-junit-runner is indeed great addition for running JBehave tests and I'd vote for inclusion of it into standard package if it's proper place to do so. The only thing I'd love to see there now is ability to go to the step candidate definition by click in the JUnit report in Eclipse. Regards, Alex Filatau. On Mon, Sep 30, 2013 at 12:33 AM, Hans Schwäbli < bugs.need.love@gmail.com> wrote: > I wanted to suggest that the JBehave people add such a feature to JBehave. > It does not make much sense to me to run it as JUnit test and seeing nearly > nothing in the JUnit view but only in the logs. And a good quality of this > feature would be more likely. > > Besides this, the Codecentric addon is not as I expect it. If a story has > given stories then the JUnit view does not show the given stories (which > must be executed first) but only the actual story. > > As ist seems Codecentric does not use the GivenStories as they are inteded > by JBehave, because they seem to be using them just to read common data > (this is how they consulted a cutomer to do). > > But okay, here is the Stacktrace for you. Maybe you can fix and improve it: > > Reports view generated with 0 stories (of which 0 pending) containing 0 > scenarios (of which 0 pending) > java.lang.RuntimeException: > org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in > running stories: > stories/logout.story: > org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: > stories/logout.story > at > de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:81) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > Caused by: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: > Failures in running stories: > stories/logout.story: > org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: > stories/logout.story > at > org.jbehave.core.embedder.Embedder$ThrowingRunningStoriesFailed.handleFailures(Embedder.java:495) > at org.jbehave.core.embedder.Embedder.handleFailures(Embedder.java:224) > at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:205) > at > de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:79) > ... 6 more > > > > > 2013/9/27 Robert Hostlowsky > >> Hi Hans, >> >> thanks for your description. So there is a problem when running this >> in the Eclipse junit view, right? >> Can you provide a short snapshot, or just the stacktrace from the console >> view? >> >> Thx, Robert >> -- >> >> Robert Hostlowsky | Senior Software Developer | Agile Software Factory >> >> codecentric AG | Landsberger Straße 302 | 80687 München | Deutschland >> www.codecentric.de >> >> | blog.codecentric.de >> | www.meettheexperts.de >> | www.more4fi.de >> >> 2013/9/27 Hans Schwäbli : >> > As it seems some people from Codecentric have written a custom >> JUnit-Runner >> > for JBehave. >> > >> > It shows what stories and scenarios are run in the Eclipse JUnit view, >> even >> > hierarchical. >> > >> > https://github.com/codecentric/jbehave-junit-runner >> > >> https://blog.codecentric.de/files/2012/06/JBehave_JUnit_Results_for_Scenarios_and_Steps.png >> > >> > But it does not seem to work correctly for jbehave-web-3.6 since a >> exception >> > occurs. >> > >> > Maybe some talented guy can contribute such an feature to JBehave? >> > >> > I would contribute it myself, but I don't know the JBehave and JUnit >> details >> > good enough. >> >> - >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> >
Re: [jbehave-user] Better JUnit reporting result view
Hi Hans, the problem with the given story is not that I didn't want to provide more details, but that JBehave is not sending any events about executed given stories. At least is that what I think what happened, I have not worked on the jbehave-junit-runner for more than a year now. Can you please post your configuration? When JBehave exits the execution with reporting errors on its own, JUnit does not have a chance to handle these errors correctly. Please use JUnitReportingRunner.recommandedControls(configuredEmbedder()); as suggested on the github page in order to configure JBehave to work properly with the jbehave-junit-runner. Kind Regards, Andreas 2013/9/30 Hans Schwäbli > I wanted to suggest that the JBehave people add such a feature to JBehave. > It does not make much sense to me to run it as JUnit test and seeing nearly > nothing in the JUnit view but only in the logs. And a good quality of this > feature would be more likely. > > Besides this, the Codecentric addon is not as I expect it. If a story has > given stories then the JUnit view does not show the given stories (which > must be executed first) but only the actual story. > > As ist seems Codecentric does not use the GivenStories as they are inteded > by JBehave, because they seem to be using them just to read common data > (this is how they consulted a cutomer to do). > > But okay, here is the Stacktrace for you. Maybe you can fix and improve it: > > Reports view generated with 0 stories (of which 0 pending) containing 0 > scenarios (of which 0 pending) > java.lang.RuntimeException: > org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in > running stories: > stories/logout.story: > org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: > stories/logout.story > at > de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:81) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > Caused by: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: > Failures in running stories: > stories/logout.story: > org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: > stories/logout.story > at > org.jbehave.core.embedder.Embedder$ThrowingRunningStoriesFailed.handleFailures(Embedder.java:495) > at org.jbehave.core.embedder.Embedder.handleFailures(Embedder.java:224) > at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:205) > at > de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:79) > ... 6 more > > > > > 2013/9/27 Robert Hostlowsky > >> Hi Hans, >> >> thanks for your description. So there is a problem when running this >> in the Eclipse junit view, right? >> Can you provide a short snapshot, or just the stacktrace from the console >> view? >> >> Thx, Robert >> -- >> >> Robert Hostlowsky | Senior Software Developer | Agile Software Factory >> >> codecentric AG | Landsberger Straße 302 | 80687 München | Deutschland >> www.codecentric.de >> >> | blog.codecentric.de >> | www.meettheexperts.de >> | www.more4fi.de >> >> 2013/9/27 Hans Schwäbli : >> > As it seems some people from Codecentric have written a custom >> JUnit-Runner >> > for JBehave. >> > >> > It shows what stories and scenarios are run in the Eclipse JUnit view, >> even >> > hierarchical. >> > >> > https://github.com/codecentric/jbehave-junit-runner >> > >> https://blog.codecentric.de/files/2012/06/JBehave_JUnit_Results_for_Scenarios_and_Steps.png >> > >> > But it does not seem to work correctly for jbehave-web-3.6 since a >> exception >> > occurs. >> > >> > Maybe some talented guy can contribute such an feature to JBehave? >> > >> > I would contribute it myself, but I don't know the JBehave and JUnit >> details >> > good enough. >> >> - >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > -- Mit freundlichen Grüßen / Best regards Andreas Ebbert-Karroum | Agile Principal Consultant codecentric AG | Merscheider Straße 1 | 42699 Solingen | Deutschland tel: +49 (0) 212.23362825 | fax: +49 (0) 212.23362879 | mobil: +49 (0) 175.2664109 www.codecentric.de | blog.codecentric.de | www.meettheexperts.de | www.more4fi.de Sitz der Gesellschaft: Düsseldorf | HRB 63043 Vorstand: Klaus Jäger (Vorsitzender) . Michael Hochgürtel . Mirko Novakovic . Rainer Vehns Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Bernd Klinkmann . Jürgen Schüt
Re: [jbehave-user] Better JUnit reporting result view
Hi Alex, I'd love to do that as well! However, this is (to the best of my knowledge) not possible due to some limitiations in JUnit and the JUnit-View in eclipse itself. Let's see if I remember correctly what happens: A JUnit-Test maps to a step, a suite to a scenario or story. Every unit test in JUnit is only executed once, while steps can be executed possibly multiple times. That's why we have something like a name uniquifier that appends invisible characters, if a step is used multiple times. But, the methods in JUnit to construct Descriptions only take a class and a name as String, and that name has to be unique. Hence, I could no map it to a method name, that is potentially not unique. See the method addSuite in the very end: https://github.com/codecentric/jbehave-junit-runner/blob/master/src/main/java/de/codecentric/jbehave/junit/monitoring/JUnitReportingRunner.java And JUnits API docs: http://www.cs.rice.edu/~javaplt/javadoc/junit4.4/org/junit/runner/Description.html But, since this is open source. If you can figure out a way, by all means, let us know, send a pull request, whatever. I'd love to have that feature! Kind Regards, Andreas 2013/9/30 Alex Filatau > Sorry for a bit of off topic, but jbehave-junit-runner is indeed great > addition for running JBehave tests and I'd vote for inclusion of it into > standard package if it's proper place to do so. The only thing I'd love to > see there now is ability to go to the step candidate definition by click in > the JUnit report in Eclipse. > > Regards, > Alex Filatau. > > > On Mon, Sep 30, 2013 at 12:33 AM, Hans Schwäbli < > bugs.need.love@gmail.com> wrote: > >> I wanted to suggest that the JBehave people add such a feature to >> JBehave. It does not make much sense to me to run it as JUnit test and >> seeing nearly nothing in the JUnit view but only in the logs. And a good >> quality of this feature would be more likely. >> >> Besides this, the Codecentric addon is not as I expect it. If a story has >> given stories then the JUnit view does not show the given stories (which >> must be executed first) but only the actual story. >> >> As ist seems Codecentric does not use the GivenStories as they are >> inteded by JBehave, because they seem to be using them just to read common >> data (this is how they consulted a cutomer to do). >> >> But okay, here is the Stacktrace for you. Maybe you can fix and improve >> it: >> >> Reports view generated with 0 stories (of which 0 pending) containing 0 >> scenarios (of which 0 pending) >> java.lang.RuntimeException: >> org.jbehave.core.embedder.Embedder$RunningStoriesFailed: Failures in >> running stories: >> stories/logout.story: >> org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: >> stories/logout.story >> at >> de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:81) >> at >> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) >> at >> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) >> at >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) >> Caused by: org.jbehave.core.embedder.Embedder$RunningStoriesFailed: >> Failures in running stories: >> stories/logout.story: >> org.jbehave.core.embedder.StoryManager$StoryExecutionFailed: >> stories/logout.story >> at >> org.jbehave.core.embedder.Embedder$ThrowingRunningStoriesFailed.handleFailures(Embedder.java:495) >> at org.jbehave.core.embedder.Embedder.handleFailures(Embedder.java:224) >> at >> org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:205) >> at >> de.codecentric.jbehave.junit.monitoring.JUnitReportingRunner.run(JUnitReportingRunner.java:79) >> ... 6 more >> >> >> >> >> 2013/9/27 Robert Hostlowsky >> >>> Hi Hans, >>> >>> thanks for your description. So there is a problem when running this >>> in the Eclipse junit view, right? >>> Can you provide a short snapshot, or just the stacktrace from the >>> console view? >>> >>> Thx, Robert >>> -- >>> >>> Robert Hostlowsky | Senior Software Developer | Agile Software Factory >>> >>> codecentric AG | Landsberger Straße 302 | 80687 München | Deutschland >>> www.codecentric.de >>> >>> | blog.codecentric.de >>> | www.meettheexperts.de >>> | www.more4fi.de >>> >>> 2013/9/27 Hans Schwäbli : >>> > As it seems some people from Codecentric have written a custom >>> JUnit-Runner >>> > for JBehave. >>> > >>> > It shows what stories and scenarios are run in the Eclipse JUnit view, >>> even >>> > hierarchical. >>> > >>> > https://github.com/codecentric/jbehave-junit-runner >>> > >>> https://blog.codecentric.de/files/2012/06/JBehave_JUnit_Resu