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
- assertTrue (kondisi)
- assertFalse (kondisi)
Di sini kondisinya adalah nilai boolean.
Objek kosong
Jika Anda ingin memeriksa nilai awal suatu objek / variabel, Anda memiliki metode berikut:
- assertNull (objek)
- 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.
- assertSame (diharapkan, aktual), Ini akan mengembalikan nilai true jika diharapkan == aktual
- 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 (variabel1Langkah 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:
- 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 .
- 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 .
- 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 .
- 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 .
- 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 .
- assertTrue (variabel1
Fungsionalitas "assertTrue ()" adalah untuk memeriksa bahwa kondisi benar.
Karena variabel1 = 1 dan variabel2 = 2, yang menunjukkan bahwa variabel1
benar .
- 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.