2012-11-12 1 views
4

Maven (surefire)을 통해 Cucumber와 Junit을 함께 사용하려고하면 테스트에 잘못된 양의 테스트가 있습니다. 나는 단지 250 개의 테스트를 가지고 있지만 Jenkins는 1200 테스트를 보여줍니다. 그래서 그것을 조사 할 때 surefire plugin의 문제 인 참조 만 찾을 수있었습니다.오이와 junit은 젠킨스 (surefire)의 테스트 양이 잘못되었습니다

https://github.com/cucumber/cucumber-jvm/issues/322

어떻게 그것을 해결하기 위해?

답변

1

확실한 해킹으로 만 만들 수 있습니다. 만약 당신이 좋아하면, 당신은 사용할 수 있습니다

  1. 필요한 일부 폴더 (1) '오이'
  2. 일부 폴더 (확실한 의해 생성 Cucmber 보고서 제외) 확실한 보고서를 복사에 오이로 된 JUnit 보고서를 작성하기 (2) 오이가 보고서를 작성한 곳인 'surefire-reports-fixed'. 에서
  3. 복사 오이의 JUnit-보고서 (1) (2)
  4. 젠킨스는 폴더를 사용하는 (2) '확실한-보고서 고정'메이븐에

예를 들어 변경 :

<plugin> 
      <plugin> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.6</version> 
       <executions> 
        <execution> 
         <id>change-bad-cucumber-test-file</id> 
         <!-- here the phase you need --> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>copy-resources</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${basedir}/target/surefire-reports-fixed</outputDirectory> 
          <resources> 
           <resource> 
            <directory>${basedir}/target/cucumber</directory> 
           </resource> 
           <resource> 
            <directory>${basedir}/target/surefire-reports</directory> 
            <excludes> 
             <exclude>**/*CucumberTest.*</exclude> 
            </excludes> 
           </resource> 
          </resources> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
CucumberTest.java에서

변경 : 젠킨스의

@RunWith(Cucumber.class) 
@Cucumber.Options(format = { "pretty", "junit:target/cucumber/TEST-packageHereToClass.CucumberTest.xml", "json:target/cucumber.json" }) 
public class CucumberTest { 
... 
} 

(2) '확실한-보고서-Fi에 테스트를 위해 확실한 폴더를 설정 xed '

0

다음 링크는 관련있는 것으로 보입니다. 실험으로 계산 단계 정의 핵심 문제

토론 :

https://github.com/cucumber/cucumber-jvm/issues/577

코멘트, 설명,

분리되는 문제 JUnit 테스트로서 시나리오를 카운팅 테스트의 순서대로 카운트에서 변경 수정 것 향후 수 있지만, 작은 오이 3 개발 노력에 묶여 :

https://github.com/cucumber/cucumber-jvm/issues/263

+0

나는 아무도 그것을 걱정하지 이해할 수있다. 그리고 나에게 그것은 위에 설명 된 워크 플로우에서 아무런 변경없이 2.12 버전의 maven-surefire-plugin을 사용하여 작동하지만 확실한 플러그인의 새 버전 (2.18.1에서 다시 작동하지 않음)에 나타납니다. – kadkaz

+0

2.12 용 maven-surefire-plugin은 junit과 병행하여 작동합니다. 2.18.1은 문제없이 testng과 함께 작동합니다. – kadkaz