JUnit Parameterized Test dengan Contoh menggunakan @Parameters

Isi kandungan:

Anonim

Apa itu Ujian Parameter dalam Junit?

Uji parameter adalah untuk melaksanakan ujian yang sama berulang kali menggunakan nilai yang berbeza. Ini membantu pemaju untuk menjimatkan masa dalam melaksanakan ujian yang sama yang hanya berbeza dari input dan hasil yang diharapkan.

Menggunakan ujian Parameterized, seseorang dapat mengatur metode pengujian yang mengambil data dari beberapa sumber data.

Pertimbangkan ujian mudah untuk menjumlahkan nombor yang berbeza. Kodnya kelihatan seperti -

Pendekatan di atas membawa kepada banyak kelebihan.

Kita memerlukan pendekatan yang sederhana dan. Dengan menggunakan ujian parameter, anda hanya boleh menambahkan kaedah untuk memasukkan 10 input data dan ujian anda akan berjalan 10 kali secara automatik.

Langkah-langkah untuk membuat ujian JUnit Parameter

Kod berikut menunjukkan contoh untuk ujian parameter. Ia menguji kaedah sum () kelas Aritmetik:

Langkah 1) Buat kelas. Dalam contoh ini, kita akan memasukkan dua nombor dengan menggunakan kaedah sum (int, int) yang akan mengembalikan jumlah nombor yang diberikan

Langkah 2) Buat kelas ujian parameter

Penjelasan Kod

  • Baris Kod 11: Nyatakan kelas ujian anda menggunakan @runWith (Parameterized.class).
  • Baris Kod 13: Menyatakan pemboleh ubah 'firstNumber' sebagai peribadi dan ketik sebagai int.
  • Baris Kod 14: Menyatakan pemboleh ubah 'secondNumber' sebagai peribadi dan taip sebagai int.
  • Baris Kod 15: Menyatakan pemboleh ubah 'expectResult' sebagai peribadi dan menaip sebagai int.
  • Baris Kod 16: Menyatakan pemboleh ubah 'airthematic' sebagai peribadi dan menaip sebagai Airthematic.

@RunWith (class_name.class): Anotasi @RunWith digunakan untuk menentukan nama kelas pelari. Sekiranya kita tidak menentukan jenis apa pun sebagai parameter, waktu proses akan memilih BlockJunit4ClassRunner secara lalai.

Kelas ini bertanggungjawab untuk ujian dijalankan dengan contoh ujian baru. Ia bertanggungjawab untuk menggunakan kaedah kitaran hidup JUnit seperti penyediaan (sumber bersekutu) dan teardown (sumber pelepasan).

Untuk membuat parameter, anda perlu memberi penjelasan menggunakan @RunWith dan lulus .class yang diperlukan untuk diuji

Langkah 3) Buat konstruktor yang menyimpan data ujian. Ia menyimpan 3 pemboleh ubah

Langkah 4) Buat kaedah statik yang menghasilkan dan mengembalikan data ujian.

Garis Kod 32,33: Membuat susunan dua dimensi (menyediakan parameter input untuk penambahan). Dengan menggunakan kaedah asList kami menukar data menjadi jenis Daftar. Sejak, jenis kaedah input yang dikembalikan adalah pengumpulan.

Baris Kod 30: Menggunakan anotasi @Parameters untuk membuat satu set data input untuk menjalankan ujian kami.

Kaedah statik yang dikenal pasti oleh anotasi @Parameters mengembalikan Koleksi di mana setiap entri dalam Koleksi akan menjadi data input untuk satu lelaran ujian.

Pertimbangkan unsur

{1,2,3}

Di sini

nombor pertama = 1

nombor kedua = 2

dijangkaResult = 3

Di sini setiap elemen array akan diserahkan kepada konstruktor, satu demi satu ketika kelas dibuat beberapa kali.

Langkah 5) Kod yang lengkap

Penjelasan Kod:

  • Baris Kod 25: Menggunakan @Sebelum anotasi untuk menyiapkan sumber (Airthematic.class di sini). Anotasi @Sebelum ini digunakan di sini untuk dijalankan sebelum setiap kes ujian. Ia mengandungi prasyarat ujian.
  • Baris Kod 36: Menggunakan anotasi @Test untuk membuat ujian kami.
  • Baris Kod 39: Membuat pernyataan tegas untuk memeriksa sama ada jumlah kami setara dengan apa yang kami harapkan.

Langkah 6) Buat kelas pelari ujian untuk menjalankan ujian parameter:

Penjelasan Kod:

  • Baris Kod 8: Menyatakan kaedah utama ujian kelas yang akan menjalankan ujian JUnit kami.
  • Baris Kod 9: Melaksanakan kes ujian menggunakan JunitCore.runclasses, ia akan mengambil nama kelas ujian sebagai parameter (Dalam contoh kami, kami menggunakan Airthematic.class).
  • Baris Kod 11: Memproses hasil menggunakan loop dan mencetak hasil yang gagal.
  • Baris Kod 13: Mencetak hasil yang berjaya.

Pengeluaran:

Berikut adalah output yang menunjukkan ujian berjaya tanpa jejak kegagalan seperti yang diberikan di bawah:

Lihat hasilnya di konsol, yang menunjukkan penambahan dua nombor: -

Ringkasan :

Uji parameter membolehkan pembangun melakukan ujian yang sama berulang kali menggunakan nilai yang berbeza.

Anotasi penting untuk digunakan semasa parameterisasi

  • @RunWith
  • @Parameter