2015-05-14 19 views
5

Wiem, że to pytanie jest zadawane więcej niż raz. Ale nie mogę zmusić mavenów do przeprowadzania testów integracyjnych za pomocą wtyczki failsafe-plugin.Maven nie wykonuje testów integracyjnych za pomocą wtyczki failsafe-

Po uruchomieniu mvn failsafe:integration-test failsafe:verify uruchamia on moje testy integracji. Ale kiedy wykonuję mvn verify, moje testy integracyjne nie są uruchomione.

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.bahadirakin</groupId> 
<artifactId>integration-tests</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>integration-tests</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.18.1</version> 
      <configuration> 
       <executions> 
        <execution> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

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

Integracja Test

package com.bahadirakin.integration; 

import org.junit.Assert; 
import org.junit.Test; 

public class ServiceIT { 

    @Test 
    public void testFail() throws Exception { 
     Assert.fail(); 

    } 
} 

Jak widać ja spodziewałem się, że nie.

Maven wersja

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T23:58:10+03:00) 
Maven home: /usr/local/Cellar/maven/3.2.3/libexec 
Java version: 1.7.0_25, vendor: Oracle Corporation 
Java home:/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "mac os x", version: "10.10.3", arch: "x86_64", family: "mac" 

Aktualizacja mvn clean verify -X wyjście link.

+0

można spróbować zrobić 'mvn czyste verify' i rury wyjście do pliku i wysłać plik gdzieś .... – khmarbaise

+0

„mvn czyste zweryfikować X”może być nawet bardziej pomocne – cslysy

+0

@ cslysy Dodałem dane wyjściowe do [gist] (https://gist.github.com/bhdrkn/7aea7046ff7c02947f36). – bhdrkn

Odpowiedz

16

Proszę zmienić swój punkt gromadzenia w ten sposób (bez konfiguracji tag):

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.18.1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>integration-test</goal> 
         <goal>verify</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+1

To wstyd, aby popełnić taki błąd. Wielkie dzięki, za milion lat, ale nie mogę rozpoznać tego błędu. – bhdrkn

0

miałem tę konfigurację dla mojego Fail testuje IT:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>2.20</version> 
       <configuration> 
        <useFile>false</useFile> 
        <includes> 
         <include>**/*IT.java</include> 
        </includes> 
       </configuration> 
       <executions> 
        <execution> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 

który zrobił nie uruchomić z testy integracji za pomocą tego polecenia:

mvn test-compile failsafe:integration-test failsafe:verify 

Po prostu zgłosił, że nie było testów do uruchomienia !! Więc zmieniłem wtyczkę w następujący sposób i to działało:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>2.20</version> 
       <configuration> 
        <useFile>false</useFile> 
        <includes> 
         <include>**/*IT.java</include> 
        </includes> 
       </configuration> 
       <executions> 
        <execution> 
         <id>failsafe-integration-tests</id> 
         <phase>integration-test</phase> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
0

W moim Wiosna Boot oparciu POM przypadkowo dodany plugin failsafe do <pluginManagement> sekcji więc nie został dodany do mojego projektu w ogóle. Powinno być:

<build> 
    </plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>integration-test</phase> 
        <goals> 
         <goal>integration-test</goal> 
         <goal>verify</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build>