CodeGym /Blog Jawa /Acak /Tembung Jawa
John Squirrels
tingkat
San Francisco

Tembung Jawa

Diterbitake ing grup
Assert statement Ing Jawa digunakake kanggo nguji asumsi tartamtu babagan kahanan program sajrone eksekusi. Iki mbantu ndeteksi kesalahan lan debug program kanthi gampang. Pernyataan asersi ing basa Jawa ditulis nganggo tembung kunci assert Jawa sing diterusake karo ekspresi boolean. Yen ekspresi kasebut dievaluasi kanthi bener, pratelan kasebut kanthi tenang lan program nindakake tugase. Yen ngevaluasi palsu, pratelan kasebut gagal lan AssertionError dibuwang. Ayo duwe conto program karo pernyataan Jawa.

//Assertion in Java example
public class AssertDemo1 {
   public static void main(String[] args) {
       int x = 5;
       assert x == 5 : "x should be 5";
       System.out.println(x);
   }
}
Ing kene ekspresi kasebut bener, mula program kasebut mung nerusake tugase. Outpute kaya sing dikarepake:
5

Tuladha AssertionError

Ing Jawa, AssertionError minangka subclass saka kelas Error lan dibuwang nalika pernyataan gagal. Asersi ing basa Jawa biasane digunakake kanggo mriksa prasyarat, postconditions, utawa invariants bener bener. Kaya sing kita ucapake ing ngisor iki, AssertionError dibuwang nalika pratelan pratelan gagal dievaluasi kanthi bener. Saiki ayo nulis ulang program kita supaya ekspresi boolean palsu.

//AssertionError example
public class AssertDemo1 {
   public static void main(String[] args) {
       int x = 5;
       assert x == 7 : "x should be 7";
       //here should be AssertionError
       System.out.println(x);
   }
}
Inggih, kita mbukak lan output punika ...
5
Ana sing salah ing conto kita! Kita kudu duwe AssertionError kene amarga x kita 5 lan pratelan ngarepake dadi 7. Apa salah kene? Wigati dimangerteni manawa pratelan Jawa mung bisa dipateni ing JVM, mula ora bisa digunakake minangka cara mung kanggo mriksa kesalahan ing program. Iku migunani kanggo debugging lan testing, nanging ora kudu gumantung ing kode produksi. Dadi kanggo nggunakake pratelan, sampeyan kudu ngaktifake nggunakake pilihan vm -ea (utawa -enableassertions). Yen sampeyan nggarap baris perintah, sampeyan bisa nggunakake printah sabanjure kanggo program AssertDemo1:
java -ea AssertDemo1
yen sampeyan ngaktifake pernyataan lan mbukak maneh program sing padha, sampeyan bakal entuk:
Pangecualian ing thread "utama" java.lang.AssertionError: x kudu 7 ing AssertDemo1.main(AssertDemo1.java:4)
Intine.

Carane ngaktifake pangecualian ing IntelliJ IDEA

  1. Pindhah menyang menu Run → Sunting Konfigurasi....
  2. Ketik parameter -ea ing pilihan VM baris
Basa Jawa - 1Saiki pratelan kasebut diaktifake lan sampeyan bisa nggunakake.

Pratelan kanggo testing unit ing Jawa

Ing Jawa, tes unit minangka teknik sing nglibatake nguji modul kode individu kanggo mesthekake yen bisa digunakake kanthi bener. Asersi biasane digunakake ing tes unit ing Jawa kanggo verifikasi manawa kode sing diuji bisa digunakake kaya sing dikarepake. Ing testing unit, unit kode, contone cara tartamtu, dites ing isolasi kanggo mesthekake yen bisa bener ing kahanan lan input beda. Ayo dadi conto. Ing kene kita duwe kalkulator prasaja kanggo nambah, nyuda, multiplikasi lan divisi 2 integer.

public class MyMath {

   public static int add (int a, int b) {
       return a + b;
   }

   public static int sub (int a, int b) {
       return a - b;
   }

   public static int mult (int a, int b) {
       return a*b;
   }

   public static double div (int a, int b) {
       return a/b;
   }
}
Mesthi, ana akeh pitakonan babagan implementasine iki (contone, apa sing kedadeyan yen kita nambah int paling gedhe menyang nomer liyane), nanging saiki kita bakal ninggalake implementasine iki. Saiki ayo nulis kelas sing bakal nyoba metode kelas myMath kanthi bantuan tes unit. Bener, mung loro. Nyatane, sampeyan bisa nulis tes sing mriksa bantahan kanggo validitas, apa cara nangani kasus khusus, lan liya-liyane. Nanging ing kene kita bakal mbatesi mung sawetara tes kanggo tujuan demonstrasi.

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class MyMathTesting {
   @Test
   public void testAdd() {
       MyMath calculator = new MyMath();
       int sum = calculator.add(2, 3);
       assertEquals(5, sum);
   }

   @Test
   public void testSub() {
       MyMath calculator = new MyMath();
       int sub = calculator.sub(5, 2);
       assertEquals(3, sub);
   }

}
Metode assertEquals minangka pratelan sing mriksa manawa rong nilai padha. Yen nilai ora padha, AssertionError bakal dibuwang, nuduhake yen tes kasebut gagal. Nggunakake pratelan ing tes unit bisa mbantu sampeyan nyekel bug lan mesthekake yen kode sampeyan bisa digunakake kanthi bener ing kahanan lan input sing beda. Coba tambahake tes kasebut kanggo divisi lan perkalian dhewe. Iku ora angel.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION