Assert Statement جاوا ۾ استعمال ڪيو ويندو آهي ڪجهه مفروضن کي جانچڻ لاءِ هڪ پروگرام جي حالت تي عملدرآمد دوران. هي آساني سان غلطين کي ڳولڻ ۽ پروگرام کي ڊيب ڪرڻ ۾ مدد ڪري ٿو. جاوا ۾ هڪ دعوى جو بيان Java assert لفظ استعمال ڪندي لکيو ويو آهي جنهن جي پٺيان هڪ بولان اظهار آهي. جيڪڏهن اظهار صحيح طور تي اندازو لڳائي ٿو، دعوي خاموشيء سان گذري ٿو ۽ پروگرام پنهنجو ڪم ڪري ٿو. جيڪڏهن اهو غلط ثابت ٿئي ٿو، دعوي ناڪام ٿئي ٿي ۽ هڪ AssertionError اڇلائي وئي آهي. اچو ته جاوا جي دعويٰ سان گڏ هڪ پروگرام جو مثال ڏيون.
//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);
}
}
هتي اظهار صحيح آهي، تنهنڪري پروگرام صرف پنهنجو ڪم جاري رکي ٿو. پيداوار صرف ان جي توقع وانگر آهي:
5
AssertionError مثال
جاوا ۾، هڪ AssertionError غلطي طبقي جو هڪ ذيلي ڪلاس آهي ۽ اهو اڇلايو ويندو آهي جڏهن هڪ دعوي ناڪام ٿئي ٿي. جاوا ۾ دعويٰ عام طور تي جانچڻ لاءِ استعمال ٿينديون آھن ته اڳڪٿيون، پوسٽون شرطون، يا انوائرينٽ صحيح آھن. جيئن اسان هيٺ چيو ويو آهي، هڪ AssertionError اڇلائي وئي آهي جڏهن هڪ دعوي بيان سچ جي تشخيص ڪرڻ ۾ ناڪام ٿئي ٿي. هاڻي اچو ته اسان جي پروگرام کي ٻيهر لکون ته جيئن بولن ايڪسپريس غلط آهي.
//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);
}
}
خير، اسان ان کي هلائيندا آهيون ۽ پيداوار آهي ...
5
اسان جي مثال ۾ ضرور ڪجهه غلط ٿيو! اسان کي هتي هڪ AssertionError هجڻ گهرجي ڇو ته اسان جو x 5 آهي ۽ دعويٰ ان جي 7 ٿيڻ جي اميد رکي ٿي. هتي ڇا غلط آهي؟ اهو نوٽ ڪرڻ ضروري آهي ته جاوا دعوائون صرف JVM ۾ غير فعال ٿي سگهن ٿيون، تنهن ڪري انهن کي استعمال نه ڪيو وڃي صرف هڪ پروگرام ۾ غلطي جي چڪاس جو واحد ذريعو. اهي ڊيبگنگ ۽ جاچ لاءِ ڪارآمد آهن، پر پيداواري ڪوڊ لاءِ ان تي ڀروسو نه ڪيو وڃي. تنهن ڪري دعوي کي استعمال ڪرڻ لاء، توهان کي انهن کي استعمال ڪرڻ جي ضرورت آهي vm -ea (يا -enableasssertions) اختيار استعمال ڪندي. جيڪڏهن توهان ڪمانڊ لائين سان ڪم ڪري رهيا آهيو، توهان پنهنجي پروگرام AssertDemo1 لاءِ ايندڙ حڪم استعمال ڪري سگهو ٿا:
java-ea AssertDemo1
جيڪڏهن توهان دعوي کي چالو ڪيو ۽ ساڳئي پروگرام کي ٻيهر هلايو ته توهان حاصل ڪندا:
سلسلي ۾ استثنا "main" java.lang.AssertionError: x هجڻ گهرجي 7 تي AssertDemo1.main(AssertDemo1.java:4)
اها ڳالهه آهي.
IntelliJ IDEA ۾ استثنا کي ڪيئن فعال ڪجي
- رن مينيو ڏانھن وڃو → ايڊٽ ڪنفيگريشنز....
- لائن VM اختيارن ۾ -ea پيٽرولر داخل ڪريو
جاوا ۾ يونٽ جي جاچ لاءِ دعويٰ
جاوا ۾، يونٽ ٽيسٽنگ هڪ ٽيڪنڪ آهي جنهن ۾ ڪوڊ جي انفرادي ماڊلز کي جانچڻ شامل آهي انهي کي يقيني بڻائڻ لاءِ اهي صحيح ڪم ڪن ٿا. دعويٰ عام طور تي جاوا ۾ يونٽ ٽيسٽنگ ۾ استعمال ٿينديون آهن انهي جي تصديق ڪرڻ لاءِ ته آزمائشي ڪوڊ ڪم ڪري رهيو آهي جيئن توقع ڪئي وڃي. يونٽ ٽيسٽنگ ۾، ڪوڊ جو هڪ يونٽ، مثال طور هڪ خاص طريقو، اڪيلائي ۾ آزمايو ويندو آهي انهي کي يقيني بڻائڻ لاءِ ته اهو مختلف حالتن ۽ انپٽس تحت صحيح ڪم ڪري ٿو. اچو ته هڪ مثال ڏيو. ھتي اسان وٽ ھڪڙو سادو ڳڻپيوڪر آھي جيڪو اضافي، گھٽائڻ، ضرب ۽ تقسيم 2 عددن لاءِ.
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;
}
}
يقينن، هن عمل جي باري ۾ ڪيترائي سوال آهن (مثال طور، ڇا ٿيندو جيڪڏهن اسان هڪ ٻئي نمبر ۾ سڀ کان وڏو int شامل ڪريون)، پر هن وقت اسان هن عمل کي ڇڏينداسين جيئن اهو آهي. هاڻي اچو ته هڪ ڪلاس لکون جنهن ۾ يونٽ ٽيسٽ جي مدد سان myMath ڪلاس جي طريقن کي جانچينداسين . سچ، انهن مان فقط ٻه. حقيقت ۾، توهان ٽيسٽ لکي سگهو ٿا جيڪي صحيحيت لاء دليلن جي جانچ ڪن ٿا، ڇا هڪ طريقو خاص ڪيسن کي سنڀاليندو آهي، وغيره. پر هتي اسان پاڻ کي صرف هڪ ٻن تجربن تائين محدود ڪنداسين مظاهرين جي مقصدن لاءِ.
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);
}
}
assertEquals طريقو ھڪڙو دعوي آھي جيڪو چيڪ ڪري ٿو ته ڇا ٻه قدر برابر آھن. جيڪڏهن قدر برابر نه آهن، هڪ AssertionError اڇلائي ويندي، ظاهر ڪري ٿو ته امتحان ناڪام ٿي چڪو آهي. يونٽ ٽيسٽ ۾ دعويٰ استعمال ڪرڻ توهان کي ڪيڙا پڪڙڻ ۾ مدد ڪري سگھن ٿا ۽ يقيني بڻائين ته توهان جو ڪوڊ مختلف حالتن ۽ ان پٽن تحت صحيح ڪم ڪري رهيو آهي. ڪوشش ڪريو تقسيم ۽ ضرب لاءِ پاڻ ۾ اهڙا ٽيسٽ شامل ڪريو. اهو ڏکيو نه آهي.
GO TO FULL VERSION