Apa itu Tes Parameterized di Junit?
Uji parameterisasi adalah menjalankan pengujian yang sama berulang kali menggunakan nilai yang berbeda. Ini membantu pengembang untuk menghemat waktu dalam menjalankan pengujian yang sama yang hanya berbeda dalam masukan dan hasil yang diharapkan.
Dengan menggunakan pengujian Parameter, seseorang dapat menyiapkan metode pengujian yang mengambil data dari beberapa sumber data.
Pertimbangkan tes sederhana untuk menjumlahkan angka yang berbeda. Kode mungkin terlihat seperti -
Pendekatan di atas menyebabkan banyak redundansi.
Kami membutuhkan pendekatan sederhana dan. Dengan menggunakan pengujian berparameter, Anda cukup menambahkan metode untuk memasukkan 10 input data dan pengujian Anda akan berjalan 10 kali secara otomatis.
Langkah-langkah untuk membuat pengujian JUnit berparameter
Kode berikut menunjukkan contoh untuk pengujian berparameter. Ini menguji metode sum () dari kelas Aritmatika:
Langkah 1) Buat kelas. Dalam contoh ini, kita akan memasukkan dua angka dengan menggunakan metode sum (int, int) yang akan mengembalikan jumlah angka yang diberikan
Langkah 2) Buat kelas pengujian berparameter
Penjelasan Kode
- Baris Kode 11: Beri anotasi kelas pengujian Anda menggunakan @runWith (Parameterized.class).
- Baris Kode 13: Mendeklarasikan variabel 'firstNumber' sebagai privat dan ketik int.
- Baris Kode 14: Mendeklarasikan variabel 'secondNumber' sebagai privat dan ketik int.
- Baris Kode 15: Mendeklarasikan variabel 'expectedResult' sebagai pribadi dan ketik sebagai int.
- Baris Kode 16: Mendeklarasikan variabel 'airthematic' sebagai privat dan ketik Airthematic.
@RunWith (class_name.class): Anotasi @RunWith digunakan untuk menentukan nama kelas runnernya . Jika kita tidak menentukan tipe apa pun sebagai parameter, runtime akan memilih BlockJunit4ClassRunner secara default.
Kelas ini bertanggung jawab untuk menjalankan pengujian dengan instance pengujian baru. Ini bertanggung jawab untuk menjalankan metode siklus hidup JUnit seperti penyiapan (sumber daya terkait) dan pembongkaran (sumber rilis).
Untuk membuat parameter, Anda perlu membuat anotasi menggunakan @RunWith dan meneruskan .class yang diperlukan untuk diuji
Langkah 3) Buat konstruktor yang menyimpan data pengujian. Ini menyimpan 3 variabel
Langkah 4) Buat metode statis yang menghasilkan dan mengembalikan data pengujian.
Baris Kode 32,33: Membuat larik dua dimensi (menyediakan parameter masukan untuk penambahan). Menggunakan metode asList kami mengubah data menjadi tipe List. Karena, tipe kembalian dari input metode adalah collection.
Baris Kode 30: Menggunakan anotasi @Parameters untuk membuat sekumpulan data input untuk menjalankan pengujian kami.
Metode statis yang diidentifikasi oleh anotasi @Parameters mengembalikan Koleksi di mana setiap entri dalam Koleksi akan menjadi data masukan untuk satu iterasi pengujian.
Pertimbangkan elemennya
{1,2,3}
Sini
firstNumber = 1
secondNumber = 2
expectedResult = 3
Di sini setiap elemen array akan diteruskan ke konstruktor, satu per satu saat kelas dibuat beberapa kali.
Langkah 5) Kode lengkap
Penjelasan Kode:
- Baris Kode 25: Menggunakan anotasi @Before untuk mengatur sumber daya (Airthematic.class di sini). Anotasi @Before digunakan di sini untuk dijalankan sebelum setiap kasus pengujian. Ini berisi prasyarat pengujian.
- Baris Kode 36: Menggunakan anotasi @Test untuk membuat pengujian kami.
- Baris Kode 39: Membuat pernyataan pernyataan untuk memeriksa apakah jumlah kita setara dengan yang kita harapkan.
Langkah 6) Buat kelas runner pengujian untuk menjalankan pengujian berparameter:
Penjelasan Kode:
- Baris Kode 8: Mendeklarasikan metode utama pengujian kelas yang akan menjalankan pengujian JUnit kami.
- Baris Kode 9: Mengeksekusi kasus uji menggunakan JunitCore.runclasses, itu akan mengambil nama kelas uji sebagai parameter (Dalam contoh kita, kita menggunakan Airthematic.class).
- Baris Kode 11: Memproses hasil menggunakan for loop dan mencetak hasil yang gagal.
- Baris Kode 13: Mencetak hasil yang sukses.
Keluaran:
Berikut adalah output yang menunjukkan pengujian yang berhasil tanpa jejak kegagalan seperti yang diberikan di bawah ini:
Lihat hasilnya di konsol, yang menunjukkan penambahan dua angka: -
Ringkasan :
Pengujian berparameter memungkinkan pengembang untuk menjalankan pengujian yang sama berulang kali menggunakan nilai yang berbeda.
Anotasi penting untuk digunakan selama parameterisasi
- @Jalan
- @Pareters