multiple ways execute junit tests
Bu Öğretici, JUnit Testi Olarak Çalıştırma, Kısayol Tuşlarını Kullanma veya Komut Satırından JUnit Testini Çalıştırma gibi JUnit testlerini yürütmenin birden çok yolunu gösterir:
Temel JUnit test senaryolarının nasıl yazılacağını ve önceki eğitimimizde JUnit için iyi programlama uygulamalarından biri olarak bir test fikstürü yaklaşımına sahip olduğumuzu gördük.
Bu eğiticide, JUnit için testleri yürütmek için kullanabileceğimiz farklı yollara bir göz atalım. Bu test senaryolarını çalıştırmak için mevcut seçeneklerin sayısına baktığınızda şaşıracaksınız.
=> Basit JUnit Eğitim Serisine Buradan Dikkat Edin.
Ne öğreneceksin:
- JUnit Testlerini Gerçekleştirmenin Farklı Yolları
- # 1) JUnit Testi Olarak Çalıştır
- # 2) Menü Seçeneği Aracılığıyla Son Yürütülen JUnit Testini Çalıştırın
- # 3) Kısayol Tuşlarını Kullanarak Çalıştırın
- # 4) Bir Sınıfta Yalnızca Bir Test Yöntemi Çalıştırın
- # 5) Komut Satırından JUnit Testlerini Çalıştırın
- # 6) Testrunner Sınıfını Kullanarak Test Paketini Çalıştırın
- # 7) Maven Kullanarak JUnit Test Durumlarını Çalıştırın
- Sonuç
- Önerilen Kaynaklar
JUnit Testlerini Gerçekleştirmenin Farklı Yolları
JUnit testlerini yürütmek için, aşağıdaki seçenekler aracılığıyla bir veya birden fazla test yöntemiyle tek bir sınıf dosyasını çalıştırabileceğiniz belirli yollar vardır:
- 'JUnit testi olarak çalıştır' seçeneği.
- Menü seçeneği aracılığıyla son yürütülen JUnit testini çalıştırın.
- Kısayol tuşlarını kullanarak çalıştırın.
- Bir sınıfta yalnızca bir test yöntemi çalıştırın.
- Komut satırından geçin.
- Testrunner sınıf dosyasını kullanarak çalıştırın.
- Maven aracılığıyla da çalıştırın.
Not: JUnit testinin Maven aracılığıyla yürütülmesi, JUnit Maven için ayrı bir öğreticide ele alınacaktır.
Konuyu tekrarlayarak, bu eğiticide, birden fazla testin bir test paketi içinde nasıl gruplanabileceğini ve paketi farklı şekillerde nasıl çalıştırabileceğimizi öğreneceğiz. Ayrıca, ilgili ve ilgili bazı ek bilgileri detaylandıracaktır.
# 1) JUnit Testi Olarak Çalıştır
JUnit testlerini yürütmenin en basit yolu şudur:
Yöntem 1:
- Komut Dosyası görünümünde sınıf dosyasına sağ tıklayın
- Seçiniz Farklı Çalıştır -> JUnit Testi
- Sınıf dosyası çalıştırılır.
Yöntem 2:
- Benzer şekilde, sınıf dosyasını Paket Gezgini görünümünden seçebilirsiniz.
- Dosyayı sağ tıklayın
- Seçiniz Farklı Çalıştır -> JUnit Testi
- Sınıf dosyası çalıştırılır.
Not: Bu şekilde, bir seferde bir sınıf dosyasını çalıştırabilirsiniz.
# 2) Menü Seçeneği Aracılığıyla Son Yürütülen JUnit Testini Çalıştırın
Düzenleyicide bir sınıf dosyasını açık tutarak bir JUnit sınıf dosyası çalıştırabilirsiniz. Üst menüye gidin Eclipse => Çalıştır'ı seçin => Çalıştır . Seçenek Çalıştır -> Çalıştır temelde, en son yaptığınız testi tekrar çalıştırmak anlamına gelir.
Nasıl yapıldığına dair daha iyi netlik için birden çok yöntem / test içeren bir JUnit sınıfını düşünelim Çalıştır-> Çalıştır İşler:
- Senaryo 1 : Eğer bir tek yöntem @Test ile, ardından tıkladığınızda Çalıştır-> Çalıştır , en son çalışan tek yöntem yalnızca bu sefer çalışır ve tüm JUnit sınıfını çalıştırmaz.
- Senaryo 2 :Halbuki sen koştun tüm sınıf Önceden, Çalıştır-> Çalıştır tüm sınıf dosyasını yeniden çalıştırır.
Artık Run-> Run'ın en son yaptığınız testi çalıştırdığını bildiğimize göre, bu bizi bir soru Çalıştır-> Çalıştır seçeneğinin tercihini değiştirebilirseniz?
Sorunun cevabı Evet, Çalıştır-> Çalıştır seçeneğinin tercihi değiştirilebilir. Run-> Run'a eklenmiş belirli bir yapılandırma var.
Bunu şu şekilde yapabilirsiniz:
için) Eclipse’in çalıştırma ayarı temelde varsayılan olarak başlatılabilir ise seçili kaynağı veya aktif düzenleyiciyi çalıştır .
Peki, varsayılan ayar nedir - 'Başlatılabilirse seçili kaynağı veya aktif düzenleyiciyi çalıştır' mı?
Bunun cevabı, en son başlattığınız uygulamayı çalıştırmayacağı, bunun yerine son başlatılan uygulamanın yeniden çalıştırılmasını izleyeceğidir. aktif düzenleyici .
b) O halde varsayılan tercihi nasıl değiştirirsiniz?
Bunun cevabı, başlattığınız son uygulamayı çalıştırmak için Eclipse'deki varsayılan tercihi değiştirebilmenizdir. aktif editörden bağımsız olarak var.
Çalıştır -> Çalıştır'ı kullanarak Çalıştır seçeneğinin tercihini nasıl değiştireceğiniz aşağıda açıklanmıştır:
- Şu yöne rotayı ayarla Windows => Tercihler => Çalıştır / Hata Ayıkla => Başlatma
- 'Başlatma İşlemi' nin varsayılan bir radyo düğmesi vardır - ' Önceden başlatılan uygulamayı başlatın ' ikinci seçenek altında seçildi ' Seçili kaynağı veya aktif düzenleyiciyi başlatın. Başlatılamazsa : ’.
- Bu tercihi ilk radyo düğmesi olarak değiştirmeniz gerekebilir, örn. ' Her zaman önceden başlatılan uygulamayı başlatın '.
# 3) Kısayol Tuşlarını Kullanarak Çalıştırın
Sınıf dosyasını Komut Dosyası görünümünden veya Paket Gezgini görünümünden seçebilir ve JUnit testlerini yürütmek için aşağıdaki kısayol tuşlarını kullanabilirsiniz:
- Tuşlara basın ALT + ÜST KARAKTER + X, T JUnit sınıf dosyasını yürütmek için.
- Bunun bir alternatifi basın ALT + R sonra CTRL + F11 JUnit sınıf dosyasını çalıştırmak için. ALT + R sonra CTRL + F11 menü seçeneğinin kısayolu Çalıştır -> Çalıştır
# 4) Bir Sınıfta Yalnızca Bir Test Yöntemi Çalıştırın
Bazen, tek bir JUnit test yöntemi çalıştırmak isteyebilirsiniz.
Durumda, JUnit sınıf dosyası içinde birden fazla yöntem vardır:
- Komut dosyası görünümünde imlecinizi yöntemin adına seçebilir veya yerleştirebilirsiniz.
- Yalnızca seçtiğiniz yöntemi yürütmek için yukarıda belirtilen kısayol tuşlarını veya yukarıda sağlanan seçenekleri kullanın.
Not: ALT + SHIFT + X, T beklendiği gibi seçilen yöntemleri çalıştırabilir. Bununla birlikte, bir JUnit sınıfında belirli bir yöntemi çalıştırmak istiyorsanız, @ Test ile açıklanmış bir test senaryosu olmalıdır, aksi takdirde başlatma hatasını gösterir.
Başka bir deyişle, @Before veya @After (@Test dışında herhangi bir açıklama) altındaki yöntemleri seçerseniz, belirli yöntem çalıştırma hatası verir.
# 5) Komut Satırından JUnit Testlerini Çalıştırın
Herhangi bir Java sınıfı dosyasını komut satırı aracılığıyla çalıştırdığınız gibi, JUnit sınıfı dosyalarını da komut satırı aracılığıyla derleyip çalıştırabilirsiniz.
JUnit testlerini komut satırı üzerinden nasıl çalıştırabileceğimizi anlamak için aşağıdaki alt konuları burada ele alacağız:
- Komut satırında bir JUnit testi nasıl derlenir?
- Komut satırında JUnit testi nasıl çalıştırılır?
- Komut satırı çalıştırmayla ilgili ek bilgiler.
- Javac komutu için tanınmayan komut hatası nasıl düzeltilir?
- Komut satırını kullanarak test çalıştırmanın avantajları.
# 5.1) Komut satırında bir JUnit testi nasıl derlenir?
Bir JUnit sınıf dosyasını komut istemi aracılığıyla derlemenin ve çalıştırmanın ön koşulu şudur:
- Önce ilgili JUnit jar dosyalarını sınıf yoluna ekleyin.
- Ortam değişkenlerini şurada belirtildiği gibi ayarlayın: JUnit'in Kurulumu öğretici.
- Sonra bir JUnit sınıf dosyası derleyin.
- Komut satırı aracılığıyla bir JUnit sınıf dosyasını derlemek için sözdizimi şöyledir:
javac -cp junit-4.0.0.jar;. JUnitProgram.java
Burada javac, -cp seçeneğini kullanan Java derleyicisidir.
Komuta javac -cp aşağıdaki parametreleri arar:
- JUnit jar dosyasının ardından noktalı virgül gelir.
- Kaynak dosyanın bulunduğu dizinin yolu.
- Sınıf dosyası adı
Yukarıda verilen sözdiziminde nokta (.) Neyi ifade eder?
Dizinin tüm yolunun yerinde bir noktadan bahsettik.
Nokta şu anlama gelir:
- Sınıf yolu zaten Java kaynak dosyaları için geçerli dizini içerir.
- JVM (Java Sanal Makinesi), geçerli dizinin kaynak dosyaların yerleştirildiği yer olduğunu otomatik olarak varsayar.
- JVM daha sonra burada belirtilen JUnit dosya adını arar. Dosya adı, derleme komutunda verilen son parametredir.
-Cp'ye giren parametreleri aşağıdaki adımlarla kontrol edebilirsiniz:
- Komut istemini açın.
- Javac yazın ve ENTER tuşuna basın.
- -Cp dahil tüm ilgili seçenekler gösterilir. Yolun JVM'nin aradığı sınıf dosyaları yolu olduğu bir parametre olarak -cp ile birlikte gittiğini göreceksiniz.
Aşağıdaki ekran görüntüsü:
Aynı Anda Birden Çok Dosya Nasıl Derlenir?
Birden çok JUnit test dosyası, dosya adlarını boşluklarla ayırarak aynı anda derlenebilir.
Aşağıda, java dosyalarını JUnitProgram ve demoTest'i derlediğiniz yere bir örnek verilmiştir:
javac -cp junit-4.0.0.jar;. JUnitProgram.java demoTest.java
# 5.2) Komut Satırından JUnit Testi Nasıl Çalıştırılır?
Tıpkı javac'ın kullanılan Java derleyicisi olması gibi, java -cp JUnit sınıfları dahil Java sınıfı dosyalarını çalıştırmak için kullanılır.
İzleyebileceğiniz sözdizimi aşağıdadır:
java -cp junit-4.0.0.jar;. JUnitProgram demoTest
Bu komut hem JUnitProgram.java hem de demoTest.java dosyalarını arka arkaya çalıştırır.
# 5.3) 'Komut satırı yürütme' ile ilgili Ek Bilgiler.
tutulmaya maven nasıl kurulur
İşte bazı ek bilgiler javac komutuyla bir hata nasıl düzeltilir ve neden komut satırı çalıştırma seçeneğini kullanmalısınız
# 5.3.1) javac komutu için tanınmayan komut hatasını nasıl düzeltirim?
Çoğumuz, bu sorunu yürütmeye çalışırken javac komut satırı üzerinden komut verin. Bu bana da oldu; bu yüzden burada yazmayı düşündük.
için) Komuta girdik javac ve basıldı Giriş komut isteminde.
b) Hata mesajı - javac, dahili veya harici bir komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor aşağıdaki gibi ortaya çıktı:
Java sınıfı dosyalarını komut satırından derlemenizin başladığı yer burasıdır. Bu nedenle, hata gerçekten bir endişe konusudur ve göz ardı edilemez.
Sorunu çözmek için aşağıdaki adımları izleyin ve Burada!!! hatanın gittiğini görüyorsunuz:
- Basit bir Java dosyası kullanarak bu işlemin tanıtımını yapalım. Yapabileceğiniz ilk adım, temel bir Java sınıfı oluşturmaktır Örneğin. : 'Calculator.java'
- Calculate.java dosyasını Windows Gezgini'nden bulup yolu kopyalayacağız.
- Komut istemindeki dizini kopyaladığınız yolla (kaynak dosya yolu) değiştirin. Dizini değiştirmek için cd kullanın.
- Şimdi komutu kullanarak PATH'i jdk bin klasörüne ayarlayın.
SET PATH = ve ENTER tuşuna basın.
- Burada jdk yolu C: Program Files Java jdk1.8.0_181 bin şeklindedir. Dolayısıyla yolu buna göre belirledik. Sonuç, komuttan sonra ENTER tuşuna basıldığında hiçbir şey göstermez.
- Şimdi, JVM'nin komutu tanıyıp tanımadığını doğrulayın javac javac komutunu girip ENTER tuşuna basarak.
-
- Komutu tanırsa, sonuç olarak javac için bir dizi geçerli seçenek görüntülenir.
- Aksi takdirde hata tekrar görünecektir.
Aşağıda, hatayı başarıyla giderdiğimizi gösteren bir ekran görüntüsü verilmiştir.
Burada temel bir sorudan kaçmaya çalışmayalım:
JVM, jdk bin klasörünün yolunu ayarladıktan sonra javac komutunu neden tanıdı?
Bu soruyu da aklınızda tutacağınıza eminiz. Cevap aşağıda verilmiştir.
- Jdk bin klasörü, javac komutu için tüm kitaplıklara sahiptir. Bu nedenle, yolu buna göre ayarladığınızda, JVM artık javac komutunu herhangi bir sorun olmadan tanıyabilir.
- Bakın javac klasörü Aşağıdaki resimde jdk bölmesinin altında.
- Daha sonra, komut satırını kullanarak 'Java derle ve çalıştır' komutunu çalıştırabilirsiniz. Ayrıca, CLASSPATH değişkenini uygun şekilde ayarlamayı da unutmayın. Java dosyaları ve JUnit dosyaları için sırasıyla JAVA_HOME ve JUNIT_HOME değişkeni.
# 5.3.2) Komut Satırını Kullanarak Test Çalıştırmanın Avantajı:
Java / JUnit test senaryolarını komut satırı aracılığıyla çalıştırmanın avantajını hızlıca tartışalım.
Zaten farkında olduğunuz gibi, sınıf dosyalarının komut satırından yürütülmesi konusunda kesin ve hızlı bir kural yoktur. Sınıf dosyalarının derlenmesini ve yürütülmesini nasıl yönetebileceğiniz konusunda alternatif bir yoldur.
JUnit testlerinin komut satırı aracılığıyla yürütülmesi konusunda bilgi sahibi olmanın özel bir avantajı olup olmadığını sorarsanız, 'Kesinlikle, Evet' deriz.
'Evet' in nedeni aşağıda verilmiştir:
- Yukarıda izlediğimiz tüm bu adımlar dizisi; not defterine eklenebilir ve bir toplu iş dosyasına dönüştürülebilir.
- Şimdi, bu toplu iş dosyasını çift tıklamayla çalıştırdığınızda, toplu iş dosyasında adı geçen birden çok JUnit test dosyasının derlenmesini ve yürütülmesini tetikleyebilir.
Java dosyalarını derleyen ve çalıştıran bir toplu iş dosyasına sahip olmanın faydası nedir?
- Bir toplu iş / jar dosyası, kodun dahili mantığından haberi olmayan herkesin kolayca birden çok test çalışmasını gerçekleştirmesine olanak tanıyan, kullanıcı dostu bir yardımcı program gibi davranabilir.
- Bu, bu test yürütme işlerini yapmak için uzman bir geliştiriciye veya QA'ya sahip olma ihtiyacını ortadan kaldırabilir. Yürütme görevi, beceri kısıtlamaları ile uğraşmadan herhangi bir kaynağa devredilebilir.
Bir sonraki alternatif seçenekte, JUnit test durumlarımızı yürütmenin başka bir avantajlı ve övgüye değer yolunu göreceğiz.
# 6) Testrunner Sınıfını Kullanarak Test Paketini Çalıştırın
Gerçek zamanlı senaryolarda, her seferinde bir test senaryosu yürütmek en az tercih edilen seçenektir.
- Bir grup ilişkili / ilgisiz test senaryosu yürütmemiz gereken vakalarımız var.
- Örneğin, regresyon testi takımları veya duman testi takımları oluşturmamız ve yürütmemiz gerekebilir.
Şimdi test takımları oluşturmak ve paketi yürütmek için kullanılan farklı ek açıklamaların uygulanmasını öğreneceğiz.
Test Runner'ı kullanarak test paketini yürütmenin genel süreci aşağıdaki iş akışına göredir:
- JUnit sınıf 1, JUnit sınıf 2,… oluşturun. JUnit sınıfı
- Test olaylarını gruplayan Test paketi sınıf dosyası oluşturun.
- Oluşturulan Test paketini çağırmak için bir Testrunner sınıf dosyası oluşturun.
- Testrunner sınıfını yürütün.
Test takımının oluşturulmasını ve çalıştırma dosyasının yürütülmesini göstereceğimiz programların yapısı aşağıdaki görüntüde gösterilmektedir:
Burada alt konuları ele alacağız:
- JUnit Sınıfları Oluşturma
- Test Paketleri Oluşturma
- Bir Testrunner dosyası oluşturmak ve bunu kullanarak test takımlarını yürütmek.
- @RunWith annotation'ın çalışması hakkında ek bilgiler.
# 6.1) JUnit Sınıfları Oluşturma
İki basit JUnit sınıf dosyası oluşturarak başlayalım:
- JUnitTestCase1.java - Beklenen sayısal bir değeri doğrulamak için kod içerir - değişken Değer1 değişkenin gerçek değeriyle eşleşir Değer2.
- JUnitTestCase2.java - Beklenen dize değişkeninin olup olmadığını doğrulamak için kodu içerir strValue ve gerçek dize değişkeni strActual maçlar.
Bunlar temelde test paketi adı verilen mantıksal bir gruplamaya girmeye ve birbiri ardına çalıştırmaya çalışacağımız iki test durumudur.
JUnitTestCase1.java için Kod
package demo.tests; import static org.junit.Assert.*; import java.util.*; import java.lang.String; import static org.testng.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import junit.framework.Assert; public class JUnitTestCase1 { public int Value1=6000; @Test public void junitMethod1(){ int Value2=9000; Assert.assertEquals(Value1, Value2); } }
JUnitTestCase2.java için Kod
package demo.tests; import static org.junit.Assert.*; import java.util.*; import java.lang.String; import static org.testng.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import junit.framework.Assert; public class JUnitTestCase2 { public String stringValue='JUnit'; @Test public void junitMethod2(){ String strActual='Junit1'; Assert.assertSame(stringValue, strActual); } }
# 6.2) Test Paketi Oluşturuluyor:
Bu bölüm ve sonraki bölüm, bir test paketi oluşturma ve çalıştırma sürecinin tamamında önemli bir rol oynar. Bu bölümde anlamaya çalışacağız birden çok JUnit test sınıfını bir araya getirme ve bunları bir test paketine bağlama .
Yukarıdaki yapısal görüntüye göre, JUnitTestCase1.java ve JUnitTestCase2.java'yı birlikte gruplayan bir test paketi oluşturalım ve paketi JUnitTestSuite.java olarak adlandıralım.
Bir test paketi oluşturmamıza yardımcı olan iki ek açıklama:
- @RunWith ve
- @Evleneceksen
Ek açıklamalar için gerekli paketler:
- Org.junit.runner.RunWith paketini içe aktarmanız gerekecek; @RunWith ek açıklamasının eklenmesi için.
- @SuiteClasses'ın çalışması için org.junit.runners.Suite.SuiteClasses paketine ihtiyacınız olacak.
- Ayrıca, bir Suite.class parametresini @RunWith ek açıklamasına geçirmek için org.junit.runners.Suite paketini içe aktarmanız gerekecektir.
Daha iyi anlamak için kodu inceleyelim !!
JUnitTestSuite.java için kod
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({JUnitTestCase1.class, JUnitTestCase2.class }) public class JUnitTestSuite { @BeforeClass public static void printMe() { System.out.println('JUnitTestSuite is the test suite grouping testcase 1 and testcase 2'); } }
JUnitTestSuite.java için kodun anlaşılması:
- @RunWith, JVM'nin ne tür bir koşucu sınıfı çalıştırması gerektiğini anlamasına yardımcı olur Örneğin. Suite.class veya Cucumber.class
- Burada @RunWith parametresi Suite.class . JVM'nin @RunWith (Suite.class) 'ın kullanıldığı geçerli dosyanın Test Suite'te bir rol oynadığını anlamasına yardımcı olur.
- Bir grupta birbirine bağlanacak JUnit test sınıfı adları, @SuiteClasses için her biri virgülle ayrılmış parametreler biçiminde bir dize dizisi olarak iletilmelidir.
- Bu, JVM'nin, paket altında gruplanması gereken tüm test olaylarını bilmesini sağlar.
- Paket adı, bu durumda JUnitTestSuite olan @RunWith ve @SuiteClasses ile açıklama eklenen JUnit sınıf dosya adı olacaktır.
# 6.3) Test Runner dosyası oluşturun ve Test Runner'ı kullanarak JUnit Test paketini çalıştırın
Son adım, yukarıdaki bölümde oluşturduğumuz test paketini bir Testrunner dosyası kullanarak çalıştırmamıza yardımcı olacaktır.
- Şimdi SuiteRunnerFile adlı bir Java dosyası oluşturacağız.
- Bu SuiteRunnerFile.java bir JUnit sınıfı değil, içinde ana yöntemin bulunduğu olağan bir Java dosyasıdır.
Koda bakalım ve sonra anlamaya çalışalım.
SuiteRunnerFile.java için kod
package demo.tests; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class SuiteRunnerFile { public static void main(String args()) { Result result=JUnitCore.runClasses(JUnitTestSuite.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } } }
Ek Açıklama İçin Gerekli Paketler
- Dahil etmek için org.junit.runner.JunitCore paketini içe aktarmanız gerekir. JUnitCore koddaki sınıf.
- Org.junit.runner.notification.Failure ve org.junit.runner paketlerini içe aktarmanız gerekir. Koda sırasıyla Hata ve Sonuç sınıfını dahil etme sonucu.
SuiteRunnerFile.java için Kodun Anlaşılması
- Test paketinin yürütülmesi için bir çalıştırıcı dosyası oluşturmak amacıyla, JUnitCore sınıf önemli bir rol oynar.
- runClasses () yöntemi JUnitCore sınıfı, test paketi sınıf adını girdi parametresi olarak alır, dolayısıyla JUnitCore ifadesine sahibiz. runClasses (JUnitTestSuite. sınıf ).
- Bu ifadenin dönüş türü, Sonuç test senaryosu dosyalarının her birinin sonuçtaki başarı durumunu ve başarısızlık durumunu saklayan sınıf nesnesi; yürütme sonrası. Bu yüzden bizde sonuç olarak Sonuç kodda sınıf nesnesi.
- Daha sonra varsa test senaryolarının arızalarını yazdırıyoruz. GetFailures () yöntemi gibi, sırasıyla getFailureCount () ve getRunCount () yöntemlerini kullanarak hata sayısını ve Çalıştırma sayısını da alabilirsiniz.
- SuiteRunnerFile artık çalıştırılmaya hazır,
- Paket Gezgini'nden dosyayı seçin ve
- Sağ tıklayın ve Farklı Çalıştır -> Java'yı seçin, program yürütülür.
Aşağıda, Konsol penceresinin ekran görüntüsü verilmiştir.
Konsolda Sonuçların Açıklaması:
Yukarıdaki konsol şunu göstermektedir:
- JUnitTestSuite sınıf dosyası SuiteRunnerFile aracılığıyla yürütülmüştür.
- @BeforeClass ek açıklaması altındaki printMe () yöntemi ilk olarak yürütüldü ve
- Ardından test paketindeki test senaryoları birbiri ardına yürütülür. Test paketi bu şekilde oluşturulabilir ve bir paket olarak çalıştırılabilir.
# 6.4) Ek Bilgi - @RunWith nasıl çalışır?
- @RunWith, temelde bir çalıştırıcı sınıfı dosya adı olan bir girdi parametresi olarak yalnızca bir öğe alan bir JUnit API'sidir.
- JUnit çerçevesi, belirtilen sınıfı bir test çalıştırıcısı olarak çağırır.
RunWith.java'dan alınan aşağıdaki pasaj, kavramanıza yardımcı olacaktır:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Inherited public @interface RunWith { Class Extends Runner> value(); }
Yukarıdaki RunWith arayüz kodunu anlamak:
- Belirtilen değer öğe türetilmiş bir sınıf olmalıdır Koşucu sınıf . Burada yansıma kavramı kullanılmaktadır.
- Böyle bir koşucu sınıfının çok iyi bir örneği, kodumuzda, yani bir grup testin bir test paketi oluşturmak için birbirine bağlandığı @RunWith (Suite.class) içinde zaten uygulanmıştır.
- Benzer şekilde, @RunWith ile Runner sınıfı kullanmanın bir başka güzel örneği, Java'da Selenium kullanan test otomasyonu için iş odaklı geliştirme (BDD) çerçevesi olan @RunWith (Cucumber.class) olabilir. Bu, çerçevenin Salatalık temelli test senaryolarını çalıştırmasına yardımcı olur.
Not:
- Bu öğreticide JUnit test paketini oluşturmak ve çalıştırmak için kullanılan ek açıklamalar ve parametreler JUnit 4'e özeldi.
- JUnit Test Suite'i oluşturmanın ve JUnit 5'te runner dosyasını çalıştırmanın biraz farklı bir yolu var.
Yakında yayınlanacak eğitimlerimizde JUnit 4 ve JUnit 5'in tüm yönlerine odaklanmış bir anlayışa sahip olacağız.
# 7) Maven Kullanarak JUnit Test Durumlarını Çalıştırın
Ayrıca, JUnit testlerinden oluşan bir Maven projesine sahip olabilir ve testleri ayrı bir öğreticide ele alınacak olan Maven aracılığıyla çalıştırabilirsiniz.
Sonuç
- JUnit testlerini çalıştırmak için tüm farklı seçenekleri öğrendik - tekli testlerin yanı sıra test süitlerinde gruplanmış birden çok test.
- Çalıştır seçeneği için tercihin nasıl güncelleneceği, javac hatasının nasıl düzeltileceği ve komut satırı çalıştırmanın bize nasıl yardımcı olabileceği konusunda ek bilgi edindik.
- Ayrıca @RunWith annotation'ın nasıl çalıştığını da öğrendik.
Bu nedenle, gelecek eğitimlerde izlenecek daha çok şey var. O zamana kadar 'Bekleyin' !!!
=> JUnit'i Sıfırdan Öğrenmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- JUnit Testleri: Örneklerle JUnit Test Durumları Nasıl Yazılır
- Yeni Başlayanlar İçin JUnit Eğitimi - JUnit Testi Nedir?
- JUnit Test Fikstürü Nedir: JUnit 4 Örnekleriyle Eğitim
- Specflow Raporlaması: Test Raporları Nasıl Oluşturulur ve Seçmeli Testler Nasıl Yürütülür
- Eclipse'de JUnit'i İndirin, Kurun ve Yapılandırın
- JUnit Framework'e Giriş ve Selenium Script'te Kullanımı - Selenium Tutorial # 11
- Android Uygulaması için Appium Testleri Oluşturun
- Dizileri Kullanarak MongoDB'ye Birden Fazla Belge Ekleme