2009-01-19 19 views
92

Test takımlarını Junit4 ile nasıl oluşturabilirim?Junit4 Test Odaları

Gördüğüm tüm belgeler benim için çalışmıyor gibi görünüyor. Ve eğer eclipse sihirbazını kullanırsam, yarattığım test sınıflarından herhangi birini seçmek için bana bir seçenek sunmuyor.

+4

Eclipse 3.7 ile Indigo, test paketi sihirbazı JUnit 4 –

cevap

139
import org.junit.runners.Suite; 
import org.junit.runner.RunWith; 

@RunWith(Suite.class) 
@Suite.SuiteClasses({TestClass1.class, TestClass2.class}) 
public class TestSuite { 
    //nothing 
} 
9

TestSuite'ın lehine düştüğünü düşünüyorum. Bu, 4.x'ten önceki stil olabilirdi, ama şimdi bildiğim kadarıyla değil.

İstediğim testleri ekledim ve sonra sınıfı çalıştırıyorum. Tüm açıklamalı testler çalıştırılır. Ant'i kullanabilirim, ama çoğu zaman IntelliJ'i benim için çalıştırırım.

+11

'u destekliyor Yanlış olabilir, ancak testlerin sırasını belirtmemiz gerektiğinde TestSuite'nin hala iyi olduğunu düşünüyorum, özellikle de küçük senaryoların test edilmesi gereken otomatik entegrasyon testlerinde daha karmaşık senaryolardan önce. – bertie

+0

@duffymo Şu ana kadar testis testisitlerini test etmek için ön-4.x düşüncesinde antrenman yaptığım için yorumunuzu ilginç buluyorum – Vatsala

+6

Daha fazla sayıda testiniz varsa, farklı fonksiyonel alanlar/modüller arasında bir ayrım var. 've yardımcı/yavaş/pahalı olmayan çekirdekli testler - bu nedenlerden dolayı - TestSuite'e testler yapılandırabilirsiniz. –

1

Başımın tepesinden bir TestSuite ve invoke addTests oluşturun. Eğer

61

... apache gelen hazırda falan gibi herhangi opensource lib denemek ve bir Testler paketi için kaynak Test dizin altında bir göz atın bakmak somesource istiyorsanız Öyle böyle bir paketi oluşturabilir. Örneğin, bir AllTest paketi böyle bir şeye benzeyecektir.

package my.package.tests; 

@RunWith(Suite.class) 
@SuiteClasses({ 
    testMyService.class, 
    testMyBackend.class, 
    ... 
}) 

public class AllTests {} 

Şimdi birkaç farklı şekilde bu çalıştırabilirsiniz:

  1. sağ tıklayın ve JUnit test olarak Eclipse çalıştırmak
  2. bir runable Java uygulaması oluşturmak; Ana sınıfı = 'org.junit.runner.JUnitCore' ve Args = komut satırından 'my.package.tests.AllTests'
  3. çalıştırmak: İşte

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests 
    
+0

CMDLine için daha fazla VoteUps ekleyebilirim :) – Gruber

2

vardır adımlar Tutulma bir JUnit paketi oluşturmak için: Tutulma 'Java'yı' perspektifinin 'Paket Kaşifi' görünümünde

  1. , (birim testi seçmek s) paketlerinde, tutulma java projesinin içinde.
  2. Seçilen testlerden herhangi birine sağ tıklayın. Açılan menüde
  3. , 'İleri' düğmesini seçin
  4. Açık 'Java'yı' klasörü, ardından da 'JUnit' klasörünü
  5. Seç 'JUnit Test Suite' açıp ... Diğer Yeni seçeneğini
  6. Seçme düğmesi 'Son'
  7. Sonuç: 'AllTests.java' paketi dosya testleri ile oluşturulur otomatik
  8. Tutulma
  9. Sonucu Çalıştır düğmesini seçin dahil: süit vadede tüm testleri
  10. Artık bu paket dosyasına ANT, Jenkins veya diğer yapı yapılandırması sürekli entegrasyon aracı ile işaret edebilirsiniz.

Sürüm bilgisi: Bu tutulma Neon ve JUnit 4 içindir. 6. adımda 'Son'u seçmeden önce JUnit 3'ü de seçebilirsiniz.