Birkaç ayrı sınama yazdım, yalnızca ayrı sınıflara değil, uygulamamın hangi alanın test edildiğine bağlı olarak ayrı alt paketlere bölünmüş. Bir ile dört arasındaki alt paketlerinde tüm testler uzatmak üst sınıfı bulunmaktadır my.package.tests
paketteJUnit4 Çalıştırma Test sınıfları belirtilen sırada
my.package.tests
my.package.tests.four
my.package.tests.one
my.package.tests.three
my.package.tests.two
: Yani, benim paket yapısı böyle biraz görünüyor. Şimdi, testlerin yapıldığı sırayı seçmek istiyorum; sınıflar içinde (FixMethodOrder annotation ile mümkün görünmektedir) değil, sınıfların veya alt paketlerin kendileri sırasına göre (Bu yüzden one
alt paketindekiler, daha sonra two
, vb.). Bazı test sınıfları, fark yaratacak durumda olan Parameterized runner'u kullanır. Testlerin başarılı olması için siparişi seçmek gerekli değildir, birbirlerinden bağımsızdırlar; bununla birlikte, programın çeşitli bölümlerinin normalde analizini biraz daha kolay hale getirdiği sıralamayı yansıtmak için bunları sıralamak yararlı olacaktır.
Şimdi, ideal olarak, JUnit'e testlerin yürütülmesi için sipariş vermesini söyleyen bir yapılandırma dosyasına sahip olmak istiyorum; Ancak tahmin ediyorum ki o kadar kolay olmayacak. Burada hangi seçenekler var ve en kolay olan ne olurdu? Ayrıca, alt paketleri listelemeyi tercih ediyorum, paketlerdeki çeşitli sınıfları veya sınıflardaki test işlevlerini değil.
Java 1.6.0_26 (burada bir seçeneğim yok) ve JUnit 4.11 kullanıyorum.
Teşekkür, bir cazibe gibi çalışır! Orada değil sanırım bir şekilde "bir sonraki paketin tüm testlerini çalıştır" seçeneğini belirtme seçeneği sağda olsa da, – blalasaadri
Hayır, otomatik olarak bir paket içinde tüm sınıfları içerecek şekilde söyleyemezsiniz (AFAIK, en azından) – blgt
Buradaki genel fikir şudur: Her pakete bir paket sınıfını yerleştirebilirsiniz, bu paketin içerdiği tüm testleri içerecektir.Ana "ebeveyn" paketini ana pakete koyun ve içindekileri dahil edin.Yani bu şekilde Suite hiyerarşinizdeki Suite hiyerarşisini taklit edebilirsiniz. – blgt