4

테스트 스위트를 작성 중이며 문제가 발생했습니다. 나는 오이를 사용 중이며 여러 기능 파일을 정의했습니다. 테스트 팩을 실행하면 다음 기능 파일 실행이 시작될 때 한 기능 파일의 진행률 (html 보고서 및 json 형식)이 덮어 씁니다.새로운 기능 파일이 실행될 때 오이가 덮어 쓰기보고합니다.

이러한 기능 파일을 실행하도록 정의 된 테스트 클래스가 여러 개 있습니다. 내가 모든 기능을 실행하는 단일 HTML 보고서를 얻을 수있는 방법을 찾으려고 노력하고있어 통합보기를 제공합니다. 심판에 대한

샘플 테스트 파일 :

@CucumberOptions(plugin = { "pretty", "html:target/report/html", 
"json:target/report/json/result.json" }) 
public class BaseFeature { 

} 

@RunWith(Cucumber.class) 
@CucumberOptions(features = "classpath:test/feature/rest/query.feature" 
, monochrome = true 
, glue={"a.b.c.rest"}) 
public class RunTest1 extends BaseFeature { 

} 

@RunWith(Cucumber.class) 
@CucumberOptions(features="classpath:test/feature/soap/book.feature" 
, monochrome = true 
, glue="a.b.c.soap") 
public class RunTest2 extends BaseFeature { 

} 

하자가 통합 된 보고서를 가지고 무엇을 할 수 있는지 알고있다.

+1

모든 수업은 스위트 룸입니다. 맞습니까? 한 번에 한 모음에 대해 보고서를 생성 할 수 있습니다. –

+0

모두를 단일 제품군으로 병합하고 중앙 보고서를 받았습니다. –

+0

네, 왜냐하면 각 RunWith는 별도의 패키지를 의미하기 때문입니다. 따라서 한 번에 한 명의 주자 만 보고서를 생성 할 수 있습니다. 향후 다른 사람이 같은 문제에 직면 할 수 있도록 아래에 답을 입력하십시오. –

답변

3

조금 늦었지만 커밋 된대로 해결책을 게시합니다. Cucumber에는 보고서를 생성하는 데 사용할 수있는 메이븐 플러그인이 있습니다.

<groupId>net.masterthought</groupId> 
<artifactId>maven-cucumber-reporting</artifactId> 
<version>${maven-cucumber-reporting.version}</version> 

플러그인 버전은 현재 : 3.3.0

이 플러그인은 JSON 형식에서 여러 테스트 보고서를 결합 할 수 있도록하는, 몇 가지 유용한 구성 매개 변수를 제공합니다. 다음과 같이

샘플 구현은 다음과 같습니다

<plugins> ... 

    <plugin> 
    <groupId>net.masterthought</groupId> 
    <artifactId>maven-cucumber-reporting</artifactId> 
    <version>${maven-cucumber-reporting.version}</version> 
    <executions> 
     <execution> 
     <id>execution</id> 
     <phase>verify</phase> 
     <goals> 
      <goal>generate</goal> 
     </goals> 
     <configuration> 
      <projectName>test-report</projectName> 
      <outputDirectory>${project.build.directory}/bdd/report</outputDirectory> 
      <cucumberOutput>${project.build.directory}/report/json</cucumberOutput> 
      <parallelTesting>false</parallelTesting> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

</plugins> 

구성을 사용할 수 :

cucumberOutput : Path to where all the json reports are kept after the cucumber run outputDirectory : 그것의 재미를 Path to where the html report will be generated

.

1

위의 설명에서 말한 것처럼 스위트를 1로 병합하면 1 개의 리포트가 생성됩니다. 각 RunWith은 하나의 제품군을 의미하므로 기본적으로 하나의 제품군 만 사용하여 하나의 보고서를 얻습니다.

+1

나는 Suite에 관한 진술에 동의합니다. 그러나 그것이 같은 것에 대한 중앙 보고서를 얻는 유일한 방법이라는 점에 동의하지 않는다. 나는 오늘 이것을위한 대답으로 업데이트 할 것이다. –

+0

완료되었습니다. –