2015-04-15 23 views
5

muszę odwołać niektóre testy JUnit (src/test/Java) z projektu B w pakiecie testy src/test/java project A natomiast B jest dependecy Maven A.Jak mogę odwołać się do klas testów jednostkowych uzależnienia od maven w moim projekcie java?

Czy to w ogóle możliwe?

<dependency> 
    <groupId>XYZ</groupId> 
    <artifactId>B</artifactId> 
    <version>${project.version}</version> 
    <type>jar</type> 
    <scope>test</scope> 
</dependency> 

Oba projekty są pod moją kontrolą.

Dzięki za radę

+1

https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html – BretC

Odpowiedz

9

Twój pom w projekcie B musi zawierać tej wtyczki:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.5</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>test-jar</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Następnie można uzyskać do niego dostęp z projektu A tak:

<dependency> 
    <groupId>XYZ</groupId> 
    <artifactId>B</artifactId> 
    <version>${project.version}</version> 
    <type>test-jar</type> 
    <scope>test</scope> 
</dependency> 

Zmiana "typ" do testowego słoika pozwala uzyskać dostęp do klas testowych z tej zależności.

+3

na co warto, to wydaje się, że test-jar w dependecy importuje tylko klasy testowe. więc jeśli chcesz mieć regularne źródła, co może mieć miejsce, musisz zdefiniować tę samą zależność od słoiczka