Dalam pengembangan perangkat lunak, pengujian unit adalah proses yang mengisolasi dan menguji bagian khusus dari suatu aplikasi. Unit adalah istilah formal untuk bagian khusus ini. Dalam aplikasi Java Anda, unit adalah metode.
Ada banyak kerangka kerja pengujian unit yang tersedia untuk pengembang Java. Di antara kerangka kerja teratas adalah JUnit 5.
Mengapa Pengujian Unit Penting?
Jika Anda pernah menulis pernyataan debug untuk mencetak dan memeriksa nilai suatu variabel, selamat; Anda telah membuat unit test. Bagian kode yang dapat dibuang ini diperlukan karena Anda tidak menerima hasil yang diinginkan.
Tetapi bagaimana jika Anda menerima output yang diinginkan dan kodenya masih mengandung kesalahan di suatu tempat? Anda mungkin menyebarkan aplikasi dan bug ini dapat mengakibatkan pelanggaran keamanan nanti. Untuk aplikasi yang menyimpan data pengguna, taruhannya tinggi ketika ada pelanggaran keamanan.
Pengujian unit menargetkan setiap bagian aplikasi Anda—apakah saat ini menyebabkan kesalahan atau tidak. Oleh karena itu, pengujian unit memainkan peran penting dalam
keamanan perangkat lunak yang baik.Apa itu JUnit5?
JUnit 5 lebih dari sekadar kerangka kerja pengujian unit lainnya. Ini memiliki beberapa sub-proyek, yaitu JUnit Platform, JUnit Jupiter, dan JUnit Vintage. Masing-masing dari ketiga komponen ini memiliki modul unik yang bekerja sama untuk meningkatkan pengujian untuk programmer Java.
Platform JUnit 5 tersedia dalam versi terbaru dari Java Integrated development platform (IDE) teratas. Java IDE yang mendukung JUnit 5 adalah:
- IntelliJ IDEA
- Gerhana
- NetBeans
- Kode Visual Studio
Membuat Tes Unit Dengan JUnit 5
Contoh program ini menggunakan JUnit 5 untuk membuat beberapa unit test pada aplikasi kalkulator sederhana.
Kelas Kalkulator
kemasan aplikasi;
publikkelasKalkulator{
publikstatiske dalammenambahkan(ke dalam nomor1, ke dalam nomor2){
kembali angka1 + angka2;
}publikstatiske dalammengurangi(ke dalam nomor1, ke dalam nomor2){
kembali angka1 - angka2;
}publikstatiske dalamberkembang biak(ke dalam nomor1, ke dalam nomor2){
kembali angka1 * angka2;
}
publikstatiske dalammembagi(ke dalam nomor1, ke dalam nomor2){
kembali angka1 / angka2;
}
}
Itu kelas jawa di atas melakukan empat operasi statis: penambahan, pengurangan, perkalian, dan pembagian. Setiap metode mengambil dua argumen integer dan mengembalikan nilai integer tunggal.
Kelas Tes JUnit 5
kemasan uji;
imporstatis org.junit. Menegaskan.*;
impor aplikasi. Kalkulator;
impororganisasi.junit.Uji;publikkelasKalkulatorTes{
@Uji
publikruang kosongtesTambahkan(){
tegaskan sama dengan(7, Kalkulator.menambahkan(3, 4));
}@Uji
publikruang kosongtesKurangi(){
tegaskan sama dengan(6, Kalkulator.mengurangi(9, 3));
}@Uji
publikruang kosongtesMultiply(){
tegaskan sama dengan(10, Kalkulator.berkembang biak(5, 2));
}
@Uji
publikruang kosongtestDivid(){
tegaskan sama dengan(2, Kalkulator.membagi(4, 2));
}
}
KalkulatorTes memperkenalkan dua konsep penting: the @Uji anotasi dan menegaskanSetara() metode. Anotasi @Test menunjukkan bahwa metode yang berada tepat di bawahnya adalah metode pengujian. Di kelas tes di atas ada empat metode pengujian, satu untuk masing-masing operasi kalkulator.
Semua metode pengujian menggunakan metode assertEquals(). Metode ini membutuhkan dua argumen wajib dan argumen ketiga opsional. Argumen pertama yang diberikan pada metode assertEquals() di atas adalah hasil yang diharapkan, dan argumen kedua adalah metode (atau unit) yang ingin Anda nilai.
Kelas CalculatorTest tidak memiliki metode utama, tetapi anotasi JUnit @Test membuat setiap metode pengujian dapat dieksekusi. Menjalankan kelas CalculatorTest di Eclipse menghasilkan antarmuka berikut:
Seperti yang Anda lihat, setiap tes berhasil. Ada empat tes, dan semuanya berjalan tanpa kesalahan atau kegagalan.
Pengujian Unit Pembelajaran Dapat Memperluas Peluang Karir Anda
Sebagai pengembang, mengetahui cara menguji perangkat lunak adalah keterampilan yang menguntungkan untuk dimiliki. Ini tentu akan meningkatkan alur kerja Anda dan, semoga, membuat kode Anda lebih mudah digunakan untuk orang lain. Namun, ada cabang pengembangan perangkat lunak yang hanya berfokus pada pengujian. Insinyur ini dikenal sebagai penguji perangkat lunak.