Junit Tegaskan & AssertEquals dengan Contoh

Daftar Isi:

Anonim

Apa itu Junit Assert?

Assert adalah metode yang berguna dalam menentukan status Lulus atau Gagal dari kasus uji, Metode menegaskan disediakan oleh kelas org.junit.Assert yang memperluas kelas java.lang.Object.

Ada berbagai jenis pernyataan seperti Boolean, Null, Identical, dll.

Junit menyediakan kelas bernama Assert, yang menyediakan sekumpulan metode pernyataan yang berguna dalam menulis kasus pengujian dan untuk mendeteksi kegagalan pengujian

Metode assert disediakan oleh kelas org.junit.Assert yang memperluas kelas java.lang.Object .

Dalam tutorial ini, Anda akan belajar-

  • Metode JUnit Assert
  • Boolean
  • Objek kosong
  • Identik
  • Tegaskan Sama
  • Tegaskan Array Sama dengan
  • Gagal Pesan
  • JUnit assertEquals
  • Pernyataan titik mengambang
  • Contoh JUnit Assert

Metode JUnit Assert

Boolean

Jika Anda ingin menguji kondisi boolean (benar atau salah), Anda dapat menggunakan metode assert berikut

  1. assertTrue (kondisi)
  2. assertFalse (kondisi)

Di sini kondisinya adalah nilai boolean.

Objek kosong

Jika Anda ingin memeriksa nilai awal suatu objek / variabel, Anda memiliki metode berikut:

  1. assertNull (objek)
  2. assertNotNull (objek)

Berikut objek adalah objek Java misalnya assertNull (aktual);

Identik

Jika Anda ingin memeriksa apakah objeknya identik (yaitu membandingkan dua referensi ke objek java yang sama), atau berbeda.

  1. assertSame (diharapkan, aktual), Ini akan mengembalikan nilai true jika diharapkan == aktual
  2. assertNotSame (diharapkan, aktual)

Tegaskan Sama

Jika Anda ingin menguji persamaan dua objek, Anda memiliki metode berikut

  • assertEquals (diharapkan, aktual)

Ini akan mengembalikan nilai benar jika: diharapkan.equals (aktual) mengembalikan nilai benar.

Tegaskan Array Sama dengan

Jika Anda ingin menguji kesetaraan array, Anda memiliki metode berikut seperti yang diberikan di bawah ini:

  • assertArrayEquals (diharapkan, aktual)

Metode di atas harus digunakan jika array memiliki panjang yang sama, untuk setiap nilai yang valid untuk i , Anda dapat memeriksanya seperti yang diberikan di bawah ini:

  • assertEquals (diharapkan [i], aktual [i])
  • assertArrayEquals (diharapkan [i], aktual [i])

Gagal Pesan

Jika Anda ingin menampilkan kesalahan pernyataan apa pun, Anda memiliki fail () yang selalu menghasilkan vonis gagal.

  • Gagal (pesan);

Anda dapat memiliki metode pernyataan dengan parameter String tambahan sebagai parameter pertama. String ini akan ditambahkan dalam pesan kegagalan jika pernyataan gagal. Misalnya gagal (pesan) dapat ditulis sebagai

  • assertEquals (pesan, diharapkan, aktual)

JUnit assertEquals

Anda memiliki assertEquals (a, b) yang bergantung pada metode equals () dari kelas Object.

  • Di sini akan dievaluasi sebagai a.equals (b).
  • Di sini kelas yang diuji digunakan untuk menentukan hubungan kesetaraan yang cocok.
  • Jika sebuah kelas tidak menimpa metode equals () dari kelas Objek , ia akan mendapatkan perilaku default metode equals () , yaitu identitas objek.

Jika a dan b adalah primitif seperti byte , int , boolean , dll. Maka hal berikut akan dilakukan untuk assertEquals (a, b):

a dan b akan dikonversi ke jenis objek pembungkus yang setara ( Byte, Integer , Boolean , dll.), dan kemudian a.equals (b) akan dievaluasi.

Sebagai Contoh: Pertimbangkan string yang disebutkan di bawah ini memiliki nilai yang sama, mari kita uji menggunakan assertTrue

String obj1 = "Sampah";String obj2 = "Sampah";assertEquals (obj1, obj2);

Pernyataan assert di atas akan mengembalikan nilai true karena obj1.equals (obj2) mengembalikan nilai true.

Pernyataan titik mengambang

Saat Anda ingin membandingkan tipe floating point (misalnya double atau float ), Anda memerlukan parameter delta tambahan yang diperlukan untuk menghindari masalah dengan kesalahan round-off saat melakukan perbandingan floating point.

Penilaiannya seperti yang diberikan di bawah ini:

  • Math.abs (diharapkan - aktual) <= delta

Sebagai contoh:

assertEquals (aDoubleValue, anotherDoubleValue, 0,001)

Contoh JUnit Assert

Contoh di bawah ini menunjukkan cara menegaskan kondisi menggunakan metode pernyataan JUnit.

Mari buat kelas pengujian sederhana bernama Junit4AssertionTest.java dan kelas runner pengujian TestRunner.java .

Anda akan membuat beberapa variabel dan pernyataan pernyataan penting di JUnit.

Dalam contoh ini, Anda akan menjalankan kelas pengujian kami menggunakan TestRunner.java

Langkah 1) Mari buat kelas yang mencakup semua metode pernyataan pernyataan penting di junit:

Junit4AssertionTest.java

paket guru99.junit;impor org.junit.Assert statis. *;import org.junit.Test;public class Junit4AssertionTest {@Ujipublic void testAssert () {// Deklarasi variabelString string1 = "Sampah";String string2 = "Sampah";String string3 = "test";String string4 = "test";String string5 = null;int variabel1 = 1;int variabel2 = 2;int [] airethematicArrary1 = {1, 2, 3};int [] airethematicArrary2 = {1, 2, 3};// Tegaskan pernyataanassertEquals (string1, string2);assertSame (string3, string4);assertNotSame (string1, string3);assertNotNull (string1);assertNull (string5);assertTrue (variabel1 

Langkah 2) Anda perlu membuat kelas runner pengujian untuk menjalankan kelas di atas:

TestRunner.java

paket guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;public class TestRunner {public static void main (String [] args) {Hasil hasil = JUnitCore.runClasses (Junit4AssertionTest.class);untuk (Kegagalan kegagalan: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Hasil ==" + result.wasSuccessful ());}}

Langkah 3) Mari menganalisis langkah demi langkah keluaran yang diharapkan:

Pertimbangkan semua pernyataan assert satu per satu:

  1. assertEquals (string1, string2);

Sekarang bandingkan string1 = "Junit" dengan string2 = "Junit" dengan metode sama dengan kelas objek. Mengganti metode assertEquals dari metode java.lang.Object.equals ():

string1.equals (string2) => mengembalikan nilai true

Jadi assertEquals (string1, string2) akan mengembalikan nilai true .

  1. assertSame (string3, string4);

Fungsionalitas "assertSame ()" adalah untuk memeriksa bahwa dua objek merujuk ke objek yang sama.

Karena string3 = "test" dan string4 = "test" berarti string3 dan string4 memiliki tipe yang sama sehingga assertSame (string3, string4) akan mengembalikan nilai true .

  1. assertNotSame (string1, string3);

Fungsionalitas "assertNotSame ()" adalah untuk memeriksa bahwa dua objek tidak merujuk ke objek yang sama.

Karena string1 = "Junit" dan string3 = "test" berarti string1 dan string3 memiliki tipe yang berbeda, jadi assertNotSame (string1, string3) akan mengembalikan nilai true .

  1. assertNotNull (string1);

Fungsionalitas "assertNotNull ()" adalah untuk memeriksa bahwa suatu objek tidak null.

Karena string1 = "Junit" yang merupakan nilai bukan null, maka assertNotNull (string1) akan mengembalikan nilai true .

  1. assertNull (string5);

Fungsionalitas "assertNull ()" adalah untuk memeriksa bahwa suatu objek adalah null.

Karena string5 = null yang merupakan nilai null maka assertNull (string5) akan mengembalikan nilai true .

  1. assertTrue (variabel1

Fungsionalitas "assertTrue ()" adalah untuk memeriksa bahwa kondisi benar.

Karena variabel1 = 1 dan variabel2 = 2, yang menunjukkan bahwa variabel1 benar .

  1. assertArrayEquals (airethematicArrary1, airethematicArrary2);

Fungsionalitas "assertArrayEquals ()" adalah untuk memeriksa bahwa array yang diharapkan dan array yang dihasilkan sama. Jenis Array mungkin int, long, short, char, byte atau java.lang.Object.

Karena airethematicArrary1 = {1, 2, 3} dan airethematicArrary2 = {1, 2, 3} yang menunjukkan kedua array sama sehingga assertArrayEquals (airethematicArrary1, airethematicArrary2) akan mengembalikan nilai true

Karena ketujuh pernyataan assert dari kelas Junit4AssertionTest.java mengembalikan nilai true, oleh karena itu ketika Anda menjalankan kelas assert pengujian, itu akan mengembalikan pengujian yang berhasil. (lihat output di bawah)

Langkah 4) Klik kanan pada Junit4AssertionTest.java dan klik runAs-> JUnit. Anda akan melihat hasilnya seperti yang diberikan di bawah ini:

Keluaran di atas menunjukkan hasil tes yang berhasil sesuai harapan.

Ringkasan:

Dalam tutorial ini, Anda mempelajari semua jenis metode pernyataan penting yang disediakan oleh JUnit. Juga, Anda telah melihat contoh pernyataan assert. Yang menunjukkan bahwa jika semua pernyataan assert mengembalikan nilai true, maka GUI pengujian akan mengembalikan hasil yang benar dan jika pengujian tunggal gagal akan mengembalikan hasil yang gagal.