2017-09-08 2 views
0

In den Standard-HTML-Story-Berichten von JBehave wird angezeigt, wie viele Szenarien ausgeführt werden, wie viele GiventStory-Szenarien und wie viele Schritte.JBehave HTML-Berichte - Wie die Anzahl der ausgeführten Storys angezeigt wird

Was ich versuche zu tun ist, um einige Informationen darüber hinzuzufügen, wie viele Geschichten ausgeführt werden.

Zum Beispiel, wenn ich ein Szenario mit 3 Beispielen habe, wird es 3 Geschichten laufen. Tatsächlich zeigt es nur ein Szenario in der Tabelle und ich möchte eine neue Spalte für die 3 Geschichten, die ausgeführt wurden.

Are ist meine aktuelle Konfiguration:

public class JBehaveStoryRunner extends JUnitStories { 

    @Autowired 
    private ApplicationContext applicationContext; 

    public JBehaveStoryRunner() { 
     Class<?> thisClass = this.getClass(); 
     Properties properties = new Properties(); 
     properties.setProperty("encoding", "UTF-8"); 
     // @formatter:off 
     useConfiguration(new MostUsefulConfiguration() 
       .useStoryLoader(new LoadFromClasspath(thisClass.getClassLoader())) 
       .usePendingStepStrategy(new FailingUponPendingStep()) 
       .useStepdocReporter(new PrintStreamStepdocReporter()) 
       .useStoryReporterBuilder(new StoryReporterBuilder() 
         .withCodeLocation(CodeLocations.codeLocationFromClass(thisClass)) 
         .withDefaultFormats() 
         .withFormats(Format.CONSOLE, Format.TXT, Format.HTML, Format.XML, Format.STATS) 
         .withCrossReference(new CrossReference()) 
         .withViewResources(properties) 
         .withFailureTrace(true)) 
       .useParameterConverters(new ParameterConverters() 
         .addConverters(new ParameterConverters.DateConverter(new SimpleDateFormat("dd-MM-yyyy")))) 
       .useStoryParser(new GherkinStoryParser()) 
       .useParameterControls(new ParameterControls().useNameDelimiterLeft("[").useNameDelimiterRight("]")) 
       .useStepMonitor(new SilentStepMonitor())); 
     // @formatter:on 
    } 

    @Override 
    public InjectableStepsFactory stepsFactory() { 
     return new SpringStepsFactory(configuration(), applicationContext); 
    } 

    protected List<String> storyPaths() { 
     return new StoryFinder().findPaths(CodeLocations.codeLocationFromClass(this.getClass()), "**/*.story", "**/excluded*.story"); 
    } 
} 

Antwort

1

Dieser HTML-Bericht erstellt wird this (jbehave-reports.ftl) Freemaker Vorlage. Wenn Sie in diesem Bericht ein neues Feld hinzufügen möchten, müssen Sie diese Vorlage anpassen oder eine eigene Kopie erstellen.

Persönlich würde ich verwenden XML-Datei (generiert, wenn Format.XML in Ihrer Konfiguration verwendet wird), weil ich Freemaker nicht kenne und keine Zeit habe, es zu lernen.
Die XML-Datei enthält alle Informationen, die Sie benötigen, analysieren Sie sie einfach und zählen Sie die Elemente, die Sie in Ihrem Bericht darstellen möchten. Diese

ist ein Beispiel von Daten für die folgende Beispiel Geschichte erzeugt (in einem Projekt basierend auf Maven: JBehave-simple-Urbild):

Scenario: A scenario with some pending steps 

Given I am a pending step <Step> 
When a good soul will implement me 
Then I shall be happy <Val> 
Examples: 
|Step|Val| 
|1|1| 
|2|2| 

<story path="org/irko/my_jbehave_simple/stories/my.story" title=""> 
    <scenario keyword="Scenario:" title="A scenario with some pending steps"> 
     <examples keyword="Examples:"> 
      <step>Given I am a pending step &lt;Step&gt;</step> 
      <step>When a good soul will implement me</step> 
      <step>Then I shall be happy &lt;Val&gt;</step> 
      <parameters> 
       <names> 
        <name>Step</name> 
        <name>Val</name> 
       </names> 
       <values> 
        <value>1</value> 
        <value>1</value> 
       </values> 
       <values> 
        <value>2</value> 
        <value>2</value> 
       </values> 
      </parameters> 

      <example keyword="Example:">{Step=1, Val=1}</example> 
      <step outcome="successful"> 
       Given I am a pending step 
       <parameter>1</parameter> 
      </step> 
      <step outcome="successful">When a good soul will implement me</step> 
      <step outcome="successful"> 
       Then I shall be happy 
       <parameter>1</parameter> 
      </step> 

      <example keyword="Example:">{Step=2, Val=2}</example> 
      <step outcome="successful"> 
       Given I am a pending step 
       <parameter>2</parameter> 
      </step> 
      <step outcome="successful">When a good soul will implement me</step> 
      <step outcome="successful"> 
       Then I shall be happy 
       <parameter>2</parameter> 
      </step> 
     </examples> 
    </scenario> 
</story> 
+0

, dass ein Weg ist, dass ich dachte, aber ich Ich hoffe, es gab einen einfacheren Weg :-P – bryce

Verwandte Themen