In the embedder controls you've configured to ignore failures. Set:

doIgnoreFailureInStories(false)


> On 18 May 2014, at 17:45, Ramiro Oliva Navas <ramiro.ol...@aytos.es> wrote:
> 
> Source code:
>  
> MySteps.java
>  
> package com.ramirooliva.steps;
>  
> import java.util.ArrayList;
>  
> import org.jbehave.core.annotations.Given;
> import org.jbehave.core.annotations.Named;
> import org.jbehave.core.annotations.Then;
> import org.jbehave.core.annotations.When;
> import org.junit.Assert;
>  
> public class MySteps {
>    
>                 ArrayList<String> miLista;
>                
>                 @Given("Una lista de nombres")
>                 public void dadaUnaListaDeNombres() {
>                                miLista = new ArrayList<String>();
>                 }
>                
>                 @Given("La lista contiene solo Aytos")
>                 public void laListaContieneAytos() {
>                                miLista.add("Aytos");
>                                Assert.assertTrue("El array no tiene 1 
> nombre", miLista.size() == 1);
>                 }
>                
>                 @When("Se agrega un nombre")
>                 public void implementStep() {
>                                miLista.add("Soluciones");
>                                miLista.add("Soluciones");
>                 }
>                
>                 @Then("Deben haber $cuenta nombres")
>                 public void happyStep(@Named("cuenta") int cuenta) {
>                                Assert.assertTrue("El array NO tiene " + 
> cuenta + " nombres", miLista.size() == cuenta);
>                 }
>  
> }
>  
>  
> my.story:
>  
> Scenario: A scenario with some pending steps
>  
> Given Una lista de nombres
> And La lista contiene solo Aytos
> When Se agrega un nombre
> Then Deben haber 2 nombres
>  
>  
> MyStories.java
>  
> package com.ramirooliva;
>  
> import static org.jbehave.core.io.CodeLocations.codeLocationFromClass;
> import static org.jbehave.core.reporters.Format.CONSOLE;
> import static org.jbehave.core.reporters.Format.HTML;
> import static org.jbehave.core.reporters.Format.TXT;
> import static org.jbehave.core.reporters.Format.XML;
>  
> import java.text.SimpleDateFormat;
> import java.util.List;
>  
> import org.jbehave.core.Embeddable;
> import org.jbehave.core.configuration.Configuration;
> import org.jbehave.core.configuration.MostUsefulConfiguration;
> import org.jbehave.core.i18n.LocalizedKeywords;
> import org.jbehave.core.io.CodeLocations;
> import org.jbehave.core.io.LoadFromClasspath;
> import org.jbehave.core.io.StoryFinder;
> import org.jbehave.core.junit.JUnitStories;
> import org.jbehave.core.model.ExamplesTableFactory;
> import org.jbehave.core.parsers.RegexStoryParser;
> import org.jbehave.core.reporters.StoryReporterBuilder;
> import org.jbehave.core.steps.InjectableStepsFactory;
> import org.jbehave.core.steps.InstanceStepsFactory;
> import org.jbehave.core.steps.ParameterConverters;
> import org.jbehave.core.steps.ParameterConverters.DateConverter;
> import org.jbehave.core.steps.ParameterConverters.ExamplesTableConverter;
> import org.junit.Test;
>  
> import com.ramirooliva.steps.MySteps;
>  
> /**
> * <p>
> * {@link Embeddable} class to run multiple textual stories via JUnit.
> * </p>
> * <p>
> * Stories are specified in classpath and correspondingly the {@link 
> LoadFromClasspath} story loader is configured.
> * </p>
>  */
> public class MyStories extends JUnitStories {
>    
>     public MyStories() {
>         
> configuredEmbedder().embedderControls().doGenerateViewAfterStories(true).doIgnoreFailureInStories(true)
>                 
> .doIgnoreFailureInView(true).useThreads(2).useStoryTimeoutInSecs(60);
>     }
>  
>     @Override
>     public Configuration configuration() {
>         Class<? extends Embeddable> embeddableClass = this.getClass();
>         // Start from default ParameterConverters instance
>         ParameterConverters parameterConverters = new ParameterConverters();
>         // factory to allow parameter conversion and loading from external 
> resources (used by StoryParser too)
>         ExamplesTableFactory examplesTableFactory = new 
> ExamplesTableFactory(new LocalizedKeywords(), new 
> LoadFromClasspath(embeddableClass), parameterConverters);
>         // add custom converters
>         parameterConverters.addConverters(new DateConverter(new 
> SimpleDateFormat("yyyy-MM-dd")),
>                 new ExamplesTableConverter(examplesTableFactory));
>         return new MostUsefulConfiguration()
>             .useStoryLoader(new LoadFromClasspath(embeddableClass))
>             .useStoryParser(new RegexStoryParser(examplesTableFactory))
>             .useStoryReporterBuilder(new StoryReporterBuilder()
>                 
> .withCodeLocation(CodeLocations.codeLocationFromClass(embeddableClass))
>                .withDefaultFormats()
>                 .withFormats(CONSOLE, TXT, HTML, XML))
>             .useParameterConverters(parameterConverters);
>     }
>  
>     @Override
>     public InjectableStepsFactory stepsFactory() {
>         return new InstanceStepsFactory(configuration(), new MySteps());
>     }
>  
>     @Override
>     protected List<String> storyPaths() {
>         return new 
> StoryFinder().findPaths(codeLocationFromClass(this.getClass()), "**/*.story", 
> "**/excluded*.story");
>                
>     }
>  
>     @Test
>     public void run() throws Throwable {
>                 super.run();
>     }
>  
> }
>  
> De: Ramiro Oliva Navas [mailto:ramiro.ol...@aytos.es] 
> Enviado el: domingo, 18 de mayo de 2014 17:42
> Para: dev@jbehave.codehaus.org
> Asunto: [jbehave-dev] Assertion fails not captured by JUnit in Eclipse?
>  
> Hi !
>  
> Could any soul please tell me what I’m doing wrong?
>  
> I have a simple HelloWorld project using jBehave for which even stories run 
> ok and errors are shown in the Eclipse console, no assertion failure is 
> captured in the JUnit window within Eclipse IDE.
>  
> Attached snapshot:
>  
> <image001.png>

Reply via email to