2011-01-21 11 views
6

Sto cercando di usare Maven fail-safe Plugin per eseguire i miei test di integrazione con questa configurazione:test di integrazione non partiva (fail-safe, Maven)

<plugin> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.7.1</version> 
    <executions> 
     <execution> 
     <id>integration-test</id> 
     <goals> 
      <goal>integration-test</goal> 
     </goals> 
     </execution> 
     <execution> 
     <id>verify</id> 
     <goals> 
      <goal>verify</goal> 
     </goals> 
     </execution> 
    </executions> 
</plugin> 

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.7</version> 
    <configuration> 

      <connectors> 
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
       <port>8080</port> 
       <maxIdleTime>3600000</maxIdleTime> 
      </connector> 
      </connectors> 

     <contextPath>/</contextPath> 
     <scanIntervalSeconds>3</scanIntervalSeconds> 
     <scanTargetPatterns> 
      <scanTargetPattern> 
       <directory>src/main/webapp/WEB-INF</directory> 
       <excludes> 
        <exclude>**/*.jsp</exclude> 
        <exclude>**/*.html</exclude> 
       </excludes> 
       <includes> 
        <include>**/*.page</include> 
        <include>**/*.properties</include> 
        <include>**/*.xml</include> 
       </includes> 
      </scanTargetPattern> 
     </scanTargetPatterns> 
    </configuration> 
    <executions> 
      <execution> 
       <id>start-jetty</id> 
       <phase>pre-integration-test</phase> 
       <goals> 
        <goal>run-war</goal> 
       </goals> 
       <configuration> 
        <scanIntervalSeconds>0</scanIntervalSeconds> 
        <daemon>true</daemon> 
       </configuration> 
      </execution> 
      <execution> 
       <id>stop-jetty</id> 
       <phase>post-integration-test</phase> 
       <goals> 
        <goal>stop</goal> 
       </goals> 
      </execution> 
    </executions> 
</plugin> 

Tutto va bene fino a quando Jetty viene avviato in pre-integrazione -test fase. Quindi non succede nulla, come se stesse aspettando qualcosa. L'ultima riga dice:

[INFO] Started Jetty Server

Come posso fare i test per iniziare subito dopo? Corro Maven usando mvn verify.

+0

Ho lo stesso problema con la versione 8.1.9. –

+0

stesso con 9.4.4.v20170414 – xedo

risposta

2

La modifica della versione del plug-in maven da 6.1.7 a 6.1.26 ha risolto tutto.

+0

Mi trovavo di fronte allo stesso problema. Ho anche aggiornato la versione alla 6.1.26, tuttavia, i miei test di integrazione non sono in esecuzione. L'ultima riga è: [INFO] Jetty Server avviato. Dopo ciò, non succede nulla. Il passo di installazione pulito di Maven si blocca. Qualche idea sul perché stia succedendo? –

+0

Ho lo stesso problema con la versione 9.4.4.v20170414. la soluzione di @Jay Zus è la corretta – xedo

2

Per le persone ancora in cerca di una soluzione, ho avuto lo stesso problema e ho risolto sostituendo

<goals> 
    <goal>run-war</goal> 
</goals> 

da

<goals> 
    <goal>start</goal> 
</goals> 

Funziona perché run * stanno bloccando l'esecuzione, mentre inizio è non-bloccante.

+0

Questa è la soluzione giusta – xedo

Problemi correlati