2016-11-24 13 views
1

실패한 테스트를 다시 실행하기 위해 Surefire 매개 변수를 테스트하려고 했으므로 실패한 테스트를 다시 실행하고 싶습니다. 내가확실한 재실행 실패 테스트가 작동하지 않습니다.

-Dsurefire.rerunFailingTestsCount=2 -Dtest=TestThatFails test 

하고 여기에

-Dsurefire.rerunFailingTestsCount=2 -Dtest=TestThatFails surefire:test 

을 예상대로 그 중 어느 것도 작동이 두 명령으로 메이븐을 실행 시도하는 것은 pom.xml

<dependency> 
    <groupId>org.apache.maven.surefire</groupId> 
    <artifactId>surefire-api</artifactId> 
    <version>2.19.1</version> 
</dependency> 
<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>2.53.1</version> 
</dependency> 

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.12</version> 
    <scope>test</scope> 

나는 것을 기다리고 있었다의 일부입니다 슈어 파이어 (Surefire)는 실패 후 테스트를 다시 시작했지만 메이븐 (Maven) st는이 오류를 던집니다. 해결 방법을 알고 있지만 테스트를 다시하고 싶습니다. 즉, 문서에서 누락 하였지만 SUREFIRE-1087에서 언급

Results : 

Tests in error: 
    testA(selenium.services.TestThatWillFail): Element is not currently visible and so may not be interacted with(..) 

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 55.060 s 
[INFO] Finished at: 2016-11-24T12:58:02+01:00 
[INFO] Final Memory: 18M/173M 

[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project eskn_selenium: There are test failures. 

답변

1

는 파라미터 rerunFailingTestsCount는 확실한 메이븐 플러그인 버전 2.18에 도입 하였다. Super POM에서 제공되는 2.12.4의 기본 버전을 사용하고 있으므로이 옵션을 사용할 수 없습니다.

따라서 수정 프로그램은 Surefire 버전을 적어도 2.18 버전으로 업데이트해야합니다. 이 매개 변수는 (당신이 4.12 JUnit을했기 때문에, 귀하의 경우이다) 4+의 JUnit과 함께 작동

<pluginManagement> 
    <plugins> 
    <plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.19.1</version> 
    </plugin> 
    </plugins> 
</pluginManagement> 

참고 : 현재 2.19.1 예를, 최신, 대한.

+0

오우 이제 알겠습니다! 종속성으로 추가하면 작업이되지만 플러그인으로 추가해야한다고 생각했습니다. 나는 그것이 pom.xml haha에 이미 정의되어 있음을 알지 못했는지 물어볼 예정이었다. 감사합니다. –

1

대신 명령 줄 속성 -Dsurefire.rerunFailingTestsCount = 2를 사용하여, 당신은 또한 속성 섹션에서 치어으로 정의 할 수 있습니다

<properties> 
    <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount> 
</properties> 
0

그냥 빔 Rutgeerts의 대답에 추가 - rerunFailingTestsCount이 있어야합니다 이 같은하지 properties에서 configuration 섹션, 내 경우

<configuration> 
    <rerunFailingTestsCount>2</rerunFailingTestsCount> 
</configuration> 

maven-surefire-plugin 2.19.1으로는이 방법을했다. 그것이 properties에 있었을 때 작동하지 않았습니다.