Kelas Pernyataan JUnit berisi kumpulan metode statis yang memungkinkan Anda melakukan pengujian unit. Pernyataan adalah salah satu fitur inti JUnit. Kelas ini memiliki lebih dari lima puluh metode yang beragam. Beberapa pengujian kelas Asersi akan gagal jika kondisi benar, sementara yang lain akan gagal jika kondisi salah.

Kelas Assertions juga memiliki banyak metode yang kelebihan beban. Setiap metode pernyataan memiliki setidaknya dua metode kelebihan beban. Temukan beberapa metode kelas Assertions yang lebih populer dan cari tahu cara menggunakannya untuk melakukan pengujian unit.

Metode assertEquals

Metode JUnit 5 assertEquals memiliki lebih dari sepuluh variasi. Metode ini adalah salah satu metode kelas Pernyataan yang lebih populer. Salah satu variasi dari metode assertEquals mengambil nilai yang diharapkan dan fungsi yang ingin Anda evaluasi (nilai sebenarnya). Varian utama kedua membutuhkan argumen ketiga tambahan. Ini adalah pesan kesalahan yang akan ditampilkan jika Tes unit JUnit gagal.

instagram viewer

Kelebihan metode assertEquals terjadi dengan tipe data yang berbeda. Beberapa metode overload assertEquals mengambil argumen keempat yang disebut delta. Versi lain menggantikan string kegagalan dengan antarmuka fungsional Pemasok, dalam bentuk a ekspresi lambda.

AssertionsMethods Java Class

kemasan com.program;

publikkelasAsersiMetode{
publikstatiske dalamkotak(ke dalam jumlah){
kembali angka * angka;
}
}

Kelas Java AssertionsMethods di atas memiliki satu metode yang disebut square. Metode kuadrat mengambil nilai integer dan mengembalikan kuadratnya. Untuk menguji metode kuadrat dan metode apa pun di masa mendatang dari kelas AssertionsMethods, Anda perlu membuat kasus uji JUnit.

Kasus Uji JUnit AssertionsMethodsTest

kemasan com.program;

imporstatisorganisasi.junit.Menegaskan.assertEquals;
imporstatisorganisasi.junit.Jupiter.api.Pernyataan.*;

impororganisasi.junit.Jupiter.api.Uji;

kelasAsersiMetodeTes{
@Uji
ruang kosongkotak tes(){
tegaskan sama dengan(25, Metode Penegasan.kotak(5));
assertEquals (36, AssertionMethods.square (6), "Nilai kuadrat Anda tidak cocok.");
assertEquals (49, AssertionMethods.square (7), () ->"Nilai kuadrat Anda tidak cocok.");
}
}

Metode testSquare() menggunakan tiga variasi assertEquals() untuk menguji metode square(). Setiap assertEquals() berhasil, karena semua nilai yang diharapkan cocok dengan nilai aktual yang dikembalikan oleh metode square().

Metode assertNull

Kelas JUnit Assertions memiliki tepat tiga metode assertNull. Masing-masing metode ini mengambil satu atau lebih argumen dan menegaskan jika objek yang diberikan adalah nol. Jika objek yang diberikan tidak nol, maka tes akan gagal.

@Uji
publikruang kosongtestStringValue(){
Rangkaian nilai string = batal;
assertNull (stringValue);
assertNull (stringValue, "Nilai string Anda bukan nol");
assertNull (stringValue, () ->"Nilai string Anda bukan nol");
}

Metode assertNull() pertama mengambil objek string dan memeriksa apakah itu null. Metode assertNull() kedua mengambil objek string dan pesan string untuk ditampilkan jika pengujian gagal. Metode assertNull() ketiga dan terakhir mengambil objek yang ingin Anda evaluasi dan antarmuka fungsional Pemasok.

Dalam kasus uji di atas, antarmuka Pemasok bertindak sebagai target penetapan untuk ekspresi lambda. Ekspresi lambda menghasilkan pesan kesalahan jika tes gagal.

Metode assertTrue

Metode assertTrue() memiliki enam variasi. Setiap metode menegaskan jika kondisi yang diberikan benar. Jika kondisi assertTrue() salah, pengujian akan gagal.

@Uji
ruang kosongtestEvenNumbers(){
ke dalam nomor1 = 10;
ke dalam nomor2 = 16;
ke dalam nomor 3 = 26;
tegaskan Benar (angka1 < nomor2);
tegaskan Benar (nomor3 > nomor2, "Kondisi Anda tidak benar.");
tegaskan Benar (angka1 < nomor 3, () ->" Kondisi Anda tidak benar.");
menegaskanBenar(() -> angka1%2 == 0);
menegaskanBenar(() -> angka2%2 == 0, "Nilai Anda bukan angka genap.");
menegaskanBenar(() -> angka3%2 == 0, () ->"Nilai Anda bukan angka genap.");
}

Metode testEvenNumbers() mendemonstrasikan cara menggunakan keenam metode assertTrue(). Semua metode di atas benar, oleh karena itu, pengujian unit ini dijalankan tanpa kegagalan atau kesalahan.

  • assertTrue (kondisi Boolean): metode ini mengambil kondisi Boolean dan menegaskan jika itu benar. Contoh metode ini dalam kode di atas menegaskan jika nilai integer pertama kurang dari yang kedua.
  • assertTrue (kondisi Boolean, pesan String): metode ini mengambil kondisi Boolean untuk diuji dan string untuk ditampilkan jika salah.
  • assertTrue (kondisi Boolean, Pemasok messageSupplier): metode ini menggunakan antarmuka fungsional Boolean dan Pemasok, sebagai ekspresi lambda. Pemasok pesan berisi string untuk ditampilkan jika kondisi Boolean salah.
  • assertTrue (BooleanSupplier booleanSupplier): metode ini menggunakan antarmuka fungsional BooleanSupplier, dalam bentuk ekspresi lambda yang bernilai benar atau salah. Contoh metode ini dalam kode menggunakan ekspresi lambda. Ini menguji sisa bilangan bulat pertama dibagi dua untuk menentukan apakah itu genap atau ganjil.
  • assertTrue (BooleanSupplier booleanSupplier, pesan String): metode ini menggunakan antarmuka fungsional BooleanSupplier dalam bentuk ekspresi lambda. Ini juga membutuhkan pesan string untuk dicetak jika BooleanSupier tidak benar.
  • assertTrue (BooleanSupplier booleanSupplier, Supplier messageSupplier): metode ini membutuhkan antarmuka fungsional BooleanSupplier untuk menegaskan. Ini juga membutuhkan antarmuka fungsional Pemasok, yang merupakan ekspresi lambda yang akan mencetak nilai string jika pengujian gagal.

Metode assertFalse

Metode assertFalse() adalah kebalikan dari metode assertTrue(). Metode ini mengevaluasi kondisi yang diberikan untuk melihat apakah itu salah. Jika kondisi yang diberikan benar, maka tes assertFalse() akan gagal. Metode assertFalse() juga memiliki enam variasi yang menerima argumen yang sama dengan rekan assertTrue() mereka.

@Uji
ruang kosongtestNotEvenNumbers(){
ke dalam nomor1 = 11;
ke dalam nomor2 = 17;
ke dalam nomor 3 = 27;
asertFalse (bilangan2 < nomor1);
asertFalse (bilangan2 > nomor 3, " Kondisi Anda tidak salah.");
assertFalse (nomor3 < nomor1, () ->" Kondisi Anda tidak salah.");
menegaskanFalse(() -> angka1%2 == 0);
menegaskanFalse(() -> angka2%2 == 0, "Nilai Anda adalah bilangan genap.");
menegaskanFalse(() -> angka3%2 == 0, () ->"Nilai Anda adalah bilangan genap.");
}

Enam metode assertFalse() dalam metode testNotEvenNumbers() semuanya menghasilkan false, yang berarti pengujian assertFalse() berhasil.

Manfaat Pengujian Unit

Pengujian unit merupakan bagian integral dari proses pengembangan perangkat lunak. Proyek perangkat lunak besar gagal karena berbagai alasan, mulai dari tim yang mengerjakannya hingga pendekatan pengembangan.

Tujuan dari pengujian unit adalah untuk menghilangkan kegagalan perangkat lunak dengan menyediakan deteksi kesalahan dini. Ini membutuhkan tim untuk mengembangkan spesifikasi yang jelas, meningkatkan desain perangkat lunak melalui dokumentasi kesalahan, dan memberikan dukungan untuk pemeliharaan perangkat lunak.

Pengujian unit bukan satu-satunya pendekatan pengujian perangkat lunak yang harus Anda terapkan dalam siklus hidup pengembangan Anda, itu hanya tempat yang sangat baik untuk memulai.