2016-07-17 3 views
0

Возможно ли генерировать отчеты во время выполнения теста. Зачет лагаяОтчеты генерации отчетов bendenenie при запуске

Мой pom.xml выглядит так

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 


    <modelVersion>4.0.0</modelVersion> 


    <groupId>com.insurance.abc</groupId> 
    <artifactId>insurance</artifactId> 
    <version>1.0-SNAPSHOT</version> 



    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 



    <dependencies> 

     <dependency> 
      <groupId>net.serenity-bdd</groupId> 
      <artifactId>serenity-jbehave</artifactId> 
      <version>1.13.0</version> 
     </dependency> 

     <dependency> 
      <groupId>net.serenity-bdd</groupId> 
      <artifactId>serenity-core</artifactId> 
      <version>1.1.37-rc.6</version> 
     </dependency> 

    </dependencies> 



    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <version>1.9.1</version> 
       <!--<executions> 
        <execution> 
         <id>add-integration-test-source-as-test-sources</id> 
         <phase>generate-test-sources</phase> 
         <goals> 
          <goal>add-test-source</goal> 
         </goals> 
         <configuration> 
          <sources> 
           <source>src/it/java</source> 
          </sources> 
         </configuration> 
        </execution> 
       </executions>--> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>2.18</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>net.serenity-bdd.maven.plugins</groupId> 
       <artifactId>serenity-maven-plugin</artifactId> 
       <version>1.1.37-rc.6</version> 
       <dependencies> 
        <dependency> 
         <groupId>net.serenity-bdd</groupId> 
         <artifactId>serenity-core</artifactId> 
         <version>1.1.37-rc.6</version> 
        </dependency> 
       </dependencies> 
       <executions> 
        <execution> 
         <phase>post-integration-test</phase> 
         <goals> 
          <goal>aggregate</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Если я поставил <phase>post-integration-test</phase> в <phase>pre-integration-test</phase> то мой отчет генерируется перед испытанием, и это его. В отчетах нет теста. Не могли бы вы помочь мне понять, почему?

ответ

0

Причина, по которой вы видите, довольно проста: по мере запуска тестов Jbehave сохраняет результаты каждого теста в target/jbehave/ как storyclass.html и storyclass.stats. Когда генерация отчета выполняется, он потребляет эти файлы для генерации вашего отчета под target/jbehave/reports. Путем создания отчетов перед запуском тестов вы создаете отчеты без ввода.

Что касается того, как достичь желаемого результата, я не думаю, что есть официальный способ, предоставляемый Jbehave.

Я бы не стал рекомендовать это делать, но если мне нужно было Я бы попытался добавить шаг @AfterStory, который запускает генерацию отчетов, чтобы обновлять отчеты каждый раз, когда история заканчивается. Проблема в том, что даже если он работает, каждый раз, когда это происходит, весь отчет повторно генерируется, который будет медленнее и медленнее с каждой версией истории в вашем тестовом наборе, поэтому, если у вас есть большой набор, вы в конечном итоге добавите немного к вашему времени выполнения. Затем вы можете сделать еще один шаг и сделать свой шаг для создания пользовательского легкого отчета, чтобы предоставить вам временный отчет о состоянии, который добавляет, а не создает повторно отчеты, которые могут быть заменены полным отчетом, созданным после выполнения Jbehave.

Смежные вопросы