2014-10-10 11 views
5

mam następny pom.xmlDlaczego plugin failsafe wymaga zarówno integracji test i zweryfikować cele

<project> 
    ... 
    <plugin> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>integration-test</id> 
        <goals> 
         <goal>integration-test</goal> 
         <goal>verify</goal> 
        </goals> 
        <configuration> 
         <argLine>${failsafeArgLine}</argLine> 
         <includes> 
          <include>**/dmg/*IT.java</include> 
         </includes> 
         <skipTests>${skipTests}</skipTests> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    ... 
</project> 

Problemem jest to, że kiedy Zdejmuję zweryfikować cel to budowa jest za każdym razem powodzenie, nawet jeśli wystąpiły błędy testowe.

I kiedy Zdejmuję integracji test bramkowej testy integracyjne po prostu nie działają

Dlaczego plugin failsafe wymaga zarówno integracji test i zweryfikować cele?

+1

Co używasz tak ekstremalnej, starej wersji wtyczki maven-failsafe-plugin. Obecna wersja to 2.17 ... Ponadto załączniki nie są konieczne, ponieważ są to ustawienia domyślne. – khmarbaise

+0

Obejmuje to jest konieczne, ponieważ muszę uruchomić tylko IT, który jest w pakiecie ** dmg ** i dziękuję ... Nie wiedziałem o wersji)) – gokareless

Odpowiedz

5

W Maven Failsafe odniesienia wtyczek można znaleźć prostą odpowiedź dlaczego kompilacji jest zawsze udany

failsafe:integration-test runs the integration tests of an application. 
    failsafe:verify verifies that the integration tests of an application passed. 

Bez zweryfikować wyników badań celem nie są sprawdzane w ogóle (ale są one wykonywane), tak Wtyczka failsafe wymaga testu integracji celem uruchomienia testów i weryfikacji, aby "zweryfikować" ich wyniki.

+0

, ale nie ** sprawdzić ** fazy zawiera * * test integracyjny ** faza? Dlaczego powinienem pisać oba? Specyfikacja mówi, że weryfikacja następuje po teście integracji ... – gokareless

+1

Wtyczka nie ma własnego "cyklu życia". Jest skonfigurowany do wykonywania 'goli'. Te "cele" są związane z "fazami". "Fazy" mają miejsce w "domyślnym cyklu życia". W ten sposób maven wie, który "cel" idzie pierwszy. Dlaczego potrzebujesz dwóch "celów"? Bo dwa są lepsze niż jeden. Być może będę musiał wykonać testy, a następnie uruchomić procedurę, aby opublikować wyniki, nawet jeśli testy się nie powiodą. Nie definiuję wykonywania 'verify' i już zostało zrobione. –

Powiązane problemy