Hi Mauro,

Thanks for the quick reply!
:-)

The problem is that even though I have ignoreFailureInStories=true
*and* the FailingUponPendingStep as the PendingStepStrategy, the build
in Maven is still succeeding. It is correctly informing me that  he
failed to run a story and it is showing the stacktrace for a
org.jbehave.core.failures.PendingStepFound exception -- but in the
end, the build still succeeds.

Is there any other configuration that could affect this?


Thanks,
L.

On Tue, Sep 13, 2011 at 10:06 AM, Mauro Talevi
<[email protected]> wrote:
> And to have generate the view - regardless of the fail/pass status of
> scenarios - you need to set the "ignoreFailureInStories=true" flag.
>
> See the trader example for how to do that.
> On Tue Sep 13 09:02:29 2011, Mauro Talevi wrote:
>>
>> Hi Luis,
>> by default, JBehave is configured not to fail on pending steps. You can
>> configure a different pending step strategy to fail on pending:
>>
>> http://jbehave.org/reference/stable/pending-steps.html
>>
>> Cheers
>>
>> On Tue Sep 13 08:50:34 2011, luis wrote:
>>>
>>> Hi all,
>>>
>>> I'm trying to configure JBehave to fail when it finds pending steps
>>> but I would like to have the failures occur as late as possible, after
>>> the generation of the view.
>>>
>>> I've been messing around with the configuration for a while now but
>>> clearly there's something I'm still missing here... So, here's my
>>> JBehave Runner class:
>>>
>>>
>>> @RunWith(AnnotatedEmbedderRunner.class)
>>> @Configure(
>>> storyControls = JBehaveTest.MyStoryControls.class,
>>> storyReporterBuilder = JBehaveTest.MyReportBuilder.class)
>>>
>>> @UsingEmbedder(
>>> batch = true,
>>> embedder = Embedder.class,
>>> generateViewAfterStories = true,
>>> ignoreFailureInStories = true,
>>> ignoreFailureInView = false)
>>>
>>> @UsingSteps(instances = {
>>> JBehaveCreatingAPlaceSteps.class,
>>> JBehaveDetailsForAPlaceSteps.class,
>>> JBehaveEnhancePlaceSteps.class,
>>> JBehaveUserSessionSteps.class,
>>> JBehaveMapSteps.class,
>>> JBehaveSearchSteps.class
>>> })
>>> public class JBehaveTest extends InjectableEmbedder {
>>>
>>> @Test
>>> public void run() {
>>>
>>> List<String> storyPaths = new
>>>
>>> StoryFinder().findPaths(CodeLocations.codeLocationFromClass(this.getClass()),
>>> "**/*.story", "");
>>> injectedEmbedder().configuration().usePendingStepStrategy(new
>>> FailingUponPendingStep());
>>> injectedEmbedder().embedderControls().useThreads(6);
>>>
>>> injectedEmbedder().runStoriesAsPaths(storyPaths);
>>> }
>>>
>>> private static class MyReportBuilder extends StoryReporterBuilder {
>>>
>>> public MyReportBuilder() {
>>>
>>> Properties viewResources = new Properties();
>>> viewResources.put("decorateNonHtml", "true");
>>>
>>>
>>> this.withCodeLocation(CodeLocations.codeLocationFromClass(this.getClass()))
>>> .withPathResolver(new
>>> FilePrintStreamFactory.ResolveToPackagedName())
>>> .withViewResources(viewResources)
>>> .withFailureTrace(true)
>>> .withFailureTraceCompression(false)
>>> .withFormats(CONSOLE, HTML, STATS);
>>> }
>>> }
>>>
>>> private static class MyStoryControls extends StoryControls {
>>>
>>> public MyStoryControls() {
>>>
>>> doDryRun(false);
>>> }
>>> }
>>> }
>>>
>>> And I normally run this from Maven, using the jbehave-maven-plugin. I
>>> think configuration there is also pretty simple:
>>>
>>> <plugin>
>>> <groupId>org.jbehave</groupId>
>>> <artifactId>jbehave-maven-plugin</artifactId>
>>> <version>3.4.5</version>
>>>
>>> <dependencies>
>>> <dependency>
>>> <groupId>log4j</groupId>
>>> <artifactId>log4j</artifactId>
>>> <version>1.2.16</version>
>>> </dependency>
>>> </dependencies>
>>>
>>> <executions>
>>> <execution>
>>> <id>run-stories-as-embeddables</id>
>>> <phase>integration-test</phase>
>>> <configuration>
>>> <includes>
>>> <include>**/JBehaveTest.java</include>
>>> </includes>
>>>
>>>
>>> <annotatedEmbedderRunnerClass>ovi.maps.JBehaveTest</annotatedEmbedderRunnerClass>
>>> <scope>test</scope>
>>> </configuration>
>>> <goals>
>>> <goal>run-stories-with-annotated-embedder</goal>
>>> </goals>
>>> </execution>
>>> </executions>
>>> </plugin>
>>>
>>> Now, here's the problem I'm having:
>>>
>>> If I run this from Maven, the build will succeed even though there are
>>> Pending steps.
>>>
>>> If I change ignoreFailureInStories to false, the build will fail but
>>> the view will never be generated.
>>>
>>>
>>> So, is there a way of getting the build to fail when there are Pending
>>> steps *and* the view to still be generated? What am I doing wrong
>>> here?
>>>
>>>
>>> Thanks in advance,
>>> L.
>>>
>>> ---------------------------------------------------------------------
>>> 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
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to