2016-04-05 17 views
5

Ben JUnit ve Mockito (ve PowerMock) kullanarak birim testleri Maven kurar "klasik" çalıştırmak, yazılı geçmişte bir sürü iş yaptım. Şimdi Maven Tycho ile oluşturulmuş bir Eclipse eklenti kod tabanı üzerinde çalışıyorum.Maven Tycho yapısında çalıştırılmak üzere birim testleri nasıl alınır?

Genel olarak, çok işlemli bir yapı, ancak eklenti projelerinden birine (şimdilik) birim testleri ekliyorum.

tycho-surefire duydum, ancak bu oldukça karmaşık görünüyor ve bu gerçekten birim testleri yerine entegrasyon testleri destekliyor gibi geliyor. Sanırım muhtemelen başka bir seçeneğim var ama bunu kullanmak istiyorum, ama şimdiye kadar onu entegre etmeye çalışmıyorum.

Ben manifestin "Bundle-Sınıf yolu" özelliğinde başvurulacak mevcut eserler elde etmek için "maven-bağımlılık-eklentisi" seçeneğini kullanarak daha sonra Maven den JUnit ve Mockito eserler alma ve çalıştı. Ben yapı çalıştırdığınızda

, tycho-compiler-plugin ben src/main/java ve src/test/java sınıfların tümünü içerir 105 kaynak dosyaları, derleme bakın. O ben -X ile yapı bitince, bağımlılık ağacında mockito-all objeyi gösterdiği halde Mockito sınıfları bulamadığından test sınıf compile başarısız olur.

Burada ne yapabilirim?

cevap

-1

Sen OSGi demetleri

Bu soru umarım bu yardımcı olur detaylı here

cevap düşünüyorum JUnit ve Mockito kullanmak zorunda.

+0

Aslında hayır. Bu cehennemden geçmek zorunda değilsin. Bu sadece başka, daha karmaşık bir seçenek. Cevabımı gör – Alex

0

sürü sonra acı Maven deneme & hata Ben maven-Tycho kurulumda birim testlerin kullanılacağı şaşırtıcı derecede kolay bir yol sağlar this website, karşısında mücadele etti. Burada pom.xml önemli bölümleri JUnit kullanarak (muhtemelen Mockito için birbirine benzer):

<testSourceDirectory>src/test/java</testSourceDirectory> 
<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.4</version> 
    <executions> 
     <execution> 
     <id>test</id> 
     <phase>test</phase> 
     <configuration> 
      <includes> 
      <include>**/*Test.java</include> 
      </includes> 
     </configuration> 
     <goals> 
      <goal>test</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.5.1</version> 
    <executions> 
     <execution> 
     <id>compiletests</id> 
     <phase>test-compile</phase> 
     <goals> 
      <goal>testCompile</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 

İsim tüm testleri şekilde onlar "* Test.java" ile biter böylece. Mevcut tüm birim testlerini yürütmek için mvn test'u çalıştırın.

İlgili konular