Çalıştığım projede aynı sınıfın entegrasyon ve birim testleri aynı paketin içinde yer alıyor. Maven ile birim testlerini yapıdan (build) önce, entegrasyon testlerini yapı ve deployment sonrası koşturmak mümkün. Bu şekilde testler ayırt edilebiliyor. Lakin Eclipse altında testleri koşturmak istediğim zaman, doğal olarak JUnit plugin testleri ayırt etmeden, beraber koşturuyor. Geliştirme esnasında bu sıkıntılı bir durum, çünkü sadece birim testlerini koşturarak, seri bir şekilde geribildirim almak istiyorum.
Bu durumu çözmek için şöyle bir TestSuite sınıfı oluşturulabilir:
@RunWith(Suite.class) @SuiteClasses({ MyClassTest.class, MySecondClassTest.class }) public class AllTests { }
AllTests sınıfı koşturulduğu taktirde, MyClassTest ve MySecondClassTest isimli testler koşturulur. Tüm birim testlerinin @SuiteClasses anotasyonunda belirtilmesi gerekiyor. Yüzlerce test sınıfının olduğu bir uygulamada birkaç birim testinin AllTests sınıfına unutularak, eklenmeyeceği aşikar. Bu yüzden bu çözümü uygun bulmuyorum.
Junit-Toolbox yardımı ile TestSuite bünyesinde koşturulacak testleri ayırt etmek mümkün. Aşağıda bunun bir örneğini görmektesiniz.
import org.junit.runner.RunWith; import com.googlecode.junittoolbox.ParallelSuite; import com.googlecode.junittoolbox.SuiteClasses; @RunWith(ParallelSuite.class) @SuiteClasses({ "**/*Test.class", "!**/*IntegrationTest.class", "!**/*RestTest.class" }) public class FastUnitTestSuite { }
FastUnitTestSuite bünyesinde sadece ismi Test.class ile biten testler koşturuluyor. Bunlar projede yer alan birim (unit) testleri. Entegrasyon testlerinin isimleri *IntegrationTest.class şeklinde oldugundan, !**/*IntegrationTest.class ile bu testlerin koşturulması engellenmiş oluyor.
Junit-Toolbox projesini şu şekilde Maven projesine dahil etmek mümkün.
<dependency> <groupId>com.googlecode.junit-toolbox</groupId> <artifactId>junit-toolbox</artifactId> <version>1.8</version> </dependency>
EOF (End Of Fun)
Özcan Acar
Yazılım Testleri kategorisinden son yazılar
- Temel Prensipler Yazı Serisi - Yazılımda Şemsiye Modeli - February 27th, 2016
- 5 Adımda Daha Kaliteli Yazılım Testleri - July 29th, 2014
- Birim Testlerinde Beklentilerimi Daha Net Nasıl İfade Edebilirim? - June 9th, 2014
- Ne Zaman Test Güdümlü Yazılım Yapmalıyım? - March 27th, 2014
- Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri - November 17th, 2009
- Yazılımda Değişik Test Türleri - March 3rd, 2009
- Test Edilebilir Tasarım - December 3rd, 2008
- Yazılım Test Türleri - November 28th, 2008
Minibüs kiralama
16 Kasım 2015cok teskuler bende bi kac gundur bunu ariyordumya cok sagolun paylasım icin