JUnit Testcases di Java: JUnit 5.7.1 Sederhana Tutorial Hello World dengan Detail Semua dalam Satu

Diterbitkan: 2019-10-30
java-junit-contoh

Apa itu JUnit?

JUnit adalah kerangka kerja sumber terbuka yang sederhana, kuat, untuk menulis dan menjalankan pengujian berulang. Saya suka testcase JUnit. Selama pengembangan Proyek Java saya, saya banyak menggunakan JUnit untuk cakupan kode. Ini adalah contoh arsitektur xUnit untuk kerangka kerja pengujian unit.

Fitur JUnit meliputi:

  1. Pernyataan untuk menguji hasil yang diharapkan
  2. Perlengkapan uji untuk berbagi data uji umum
  3. Pelari uji untuk menjalankan tes

Dalam tutorial ini saya akan membahas poin 1 dan 3. Anda memerlukan ketergantungan pakar di bawah ini dalam proyek Anda.

Mari kita mulai menulis kode.

Langkah 1

Buat proyek CrunchifyJunitTest dan tentukan paket com.crunchify.junit . Berikut adalah struktur Paket untuk referensi cepat.

Menghancurkan Struktur Eclipse Proyek JUnit

Langkah 2

Klik kanan pada CrunchifyJunitTest => Kelas Baru => CrunchifyJunitTest.java

Langkah-3

Eclipse akan menyarankan dan secara otomatis menambahkan ketergantungan org.junit.Test setelah Anda mengetik @Test .

Ketergantungan Maven Uji Eclipse

Langkah-4

Untuk menguji tes JUnit Anda

  • Klik kanan di kelas
  • Klik Jalankan Sebagai
  • Klik JUnit Test

Anda harus melihat sesuatu seperti ini.

Tes JUnit berhasil

Langkah-5

Coba ubah metode parameter nilai yang diharapkan dari 30 => 300 dan dari Hello World => Hello -- World dan uji lagi.

Kegagalan Uji JUnit - Kiat Crunchify

Langkah-6

Sekarang mari kita jalankan test case yang sama via other java . Buat CrunchifyRunnerJUnit.java

Langkah-7

Jalankan CrunchifyRunnerJUnit.java sebagai Java Application .

Langkah-8

Dalam hal 1st code (param yang diharapkan benar), Anda akan melihat output seperti ini:

Langkah-9

Dalam hal 2nd code -2 (param yang diharapkan salah), Anda akan melihat sesuatu seperti ini:

Dan Anda sudah siap. Beri tahu saya jika Anda melihat masalah dalam menjalankan kode ini.

Tutorial JUnit oleh Crunchify

Anotasi yang tersedia dalam testcase JUnit:

Anotasi

Keterangan

@Uji metode kekosongan publik () Anotasi @Test mengidentifikasi bahwa suatu metode adalah metode pengujian.
@Sebelum metode batal publik () Akan menjalankan metode sebelum setiap tes. Metode ini dapat mempersiapkan lingkungan pengujian (misalnya membaca data input, menginisialisasi kelas).
@Setelah metode batal publik () Akan menjalankan metode setelah setiap tes. Metode ini dapat membersihkan lingkungan pengujian (misalnya menghapus data sementara, mengembalikan default).
@BeforeClass metode kekosongan publik () Akan menjalankan metode sekali, sebelum memulai semua tes. Ini dapat digunakan untuk melakukan aktivitas intensif waktu, misalnya untuk terhubung ke database.
@AfterClass metode kekosongan publik () Akan menjalankan metode sekali, setelah semua tes selesai. Ini dapat digunakan untuk melakukan aktivitas pembersihan, misalnya untuk memutuskan sambungan dari database.
@Mengabaikan Akan mengabaikan metode pengujian. Ini berguna ketika kode yang mendasarinya telah diubah dan kasus uji belum diadaptasi. Atau jika waktu pelaksanaan tes ini terlalu lama untuk dimasukkan.
@Test (diharapkan = Exception.class) Gagal, jika metode tidak membuang pengecualian bernama.
@Uji(waktu habis=100) Gagal, jika metode ini membutuhkan waktu lebih dari 100 milidetik.

Metode Assert Test yang Tersedia:

Penyataan

Keterangan

gagal (String) Biarkan metode ini gagal. Mungkin digunakan untuk memeriksa bahwa bagian tertentu dari kode tidak tercapai. Atau memiliki tes yang gagal sebelum kode tes diimplementasikan.
assertTrue(benar) / assertTrue(salah) Akan selalu benar/salah. Dapat digunakan untuk menentukan hasil tes, jika tes belum dilaksanakan.
assertTrue([pesan], kondisi boolean) Memeriksa bahwa kondisi boolean benar.
assertsEquals([Pesan string], diharapkan, aktual) Menguji bahwa dua nilai adalah sama. Catatan: untuk array referensi dicentang bukan konten array.
assertsEquals([Pesan string], diharapkan, aktual, toleransi) Uji apakah nilai float atau double cocok. Toleransi adalah jumlah desimal yang harus sama.
assertNull([pesan], objek) Memeriksa apakah objek tersebut null.
assertNotNull([pesan], objek) Memeriksa bahwa objek tidak nol.
assertSame([String], diharapkan, aktual) Memeriksa bahwa kedua variabel merujuk ke objek yang sama.
assertNotSame([String], diharapkan, aktual) Memeriksa bahwa kedua variabel merujuk ke objek yang berbeda.