Di Junit, suite ujian membolehkan kami mengumpulkan semua kes ujian dari pelbagai kelas di satu tempat dan menjalankannya bersama.
Untuk menjalankan ujian suite, anda perlu memberi anotasi kelas menggunakan anotasi yang disebutkan di bawah:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class…) atau
@ Suite.SuiteClasses ({test1.class, test2.class
…})
Dengan anotasi di atas, semua kelas ujian di suite akan mula dijalankan satu persatu.
Langkah-langkah untuk membuat Test Suite dan Test Runner
Langkah 1) Buat kelas ujian sederhana (mis. MyFirstClassTest) dan tambahkan kaedah yang diberi penjelasan dengan @test.
Langkah 2) Buat kelas ujian lain untuk ditambahkan (contohnya MySecondClassTest) dan buat kaedah yang dijelaskan dengan @test.
Langkah 3) Untuk membuat testSuite, anda perlu terlebih dahulu memberi penjelasan kelas dengan @RunWith (Suite.class) dan @SuiteClasses (class1.class2
...).Langkah 4) Buat kelas Runner Uji untuk menjalankan suite ujian kami seperti yang diberikan di bawah;
Penjelasan Kod:
- Baris Kod 8: Menyatakan kaedah utama ujian kelas yang akan menjalankan ujian JUnit kami.
- Garis Kod 9: Melaksanakan kes ujian menggunakan JunitCore.runclasses yang mengambil nama kelas ujian sebagai parameter (Dalam contoh di atas, anda menggunakan TestSuiteExample.class yang ditunjukkan pada langkah 3).
- Baris Kod 11: Memproses hasil menggunakan loop dan mencetak hasil yang gagal.
- Baris Kod 13: Mencetak hasil yang berjaya.
Output: Berikut adalah output yang menunjukkan ujian berjaya tanpa jejak kegagalan seperti yang diberikan di bawah:
Contoh JUnit Test Suite
Pertimbangkan contoh yang lebih kompleks
JunitTest.java
JunitTest.java adalah kelas sederhana yang diberi anotasi @RunWith dan @Suite . Anda boleh menyenaraikan jumlah kelas. Dalam suite sebagai parameter seperti yang diberikan di bawah:
pakej guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})JunitTest kelas awam {// Kelas ini tetap kosong, hanya digunakan sebagai pemegang untuk anotasi di atas}
SuiteTest1.java
SuiteTest1.java adalah kelas ujian yang mempunyai kaedah ujian untuk mencetak mesej seperti yang diberikan di bawah. Anda akan menggunakan kelas ini sebagai suite di kelas yang disebutkan di atas.
pakej guru99.junit;import org statik.junit.Assert.assertEquals;import org.junit.Test;SuiteTest1 kelas awam {mesej String awam = "Saurabh";JUnitMessage junitMessage = JUnitMessage baru (mesej);@Test (dijangka = ArithmeticException.class)ujian kekosongan awamJUnitMessage () {System.out.println ("Junit Message sedang mencetak");junitMessage.printMessage ();}@ Ujianujian kekosongan awamJUnitHiMessage () {mesej = "Hai!" + mesej;System.out.println ("Junit Hi Message sedang dicetak");assertEquals (mesej, junitMessage.printHiMessage ());System.out.println ("Ujian Suite 2 berjaya" + mesej);}}
SuiteTest2.java
SuiteTest2.java adalah kelas ujian lain yang serupa dengan SuiteTest1.java yang mempunyai kaedah ujian untuk mencetak mesej seperti yang diberikan di bawah. Anda akan menggunakan kelas ini sebagai suite di JunitTest.java .
pakej guru99.junit;import org.junit.Assert;import org.junit.Test;kelas awam SuiteTest2 {@ Ujiankekosongan awam createAndSetName () {Rentetan dijangka = "Y";Rentetan sebenar = "Y";Assert.assertEquals (dijangka, sebenar);System.out.println ("Suite Test 1 berjaya" + sebenar);}}
Pengeluaran
Setelah menjalankan JunitTest .java yang mengandungi suite yang mempunyai test1.java dan test2.java , anda akan mendapat output di bawah:
Ringkasan
Dalam tutorial ini, anda telah mempelajari asas-asas harness ujian dan suite ujian secara terperinci dengan contoh.
- Test harness atau automation Testing adalah perisian atau kumpulan perisian, yang memungkinkan pengguna menguji data dengan banyak input dan mengendalikan pelaksanaan
- Harness ujian sebenarnya membolehkan kerangka ujian yang melakukan semua tugas melaksanakan ujian menggunakan perpustakaan ujian dan menghasilkan laporan ujian
- Di Junit, suite ujian membolehkan kami mengumpulkan semua kes ujian dari banyak kelas di satu tempat dan menjalankannya bersama.