Exception Handling কি?
TestNG টেস্টিংয়ের সময় ব্যতিক্রম (Exception) পরিচালনার জন্য উন্নত ফিচার সরবরাহ করে। এটি এমন টেস্ট কেস তৈরি করতে সাহায্য করে, যেখানে নির্দিষ্ট ব্যতিক্রম প্রত্যাশিত বা যাচাই করতে হয়। TestNG-এর expectedExceptions প্যারামিটার ব্যবহার করে নির্দিষ্ট ব্যতিক্রম পরিচালনা করা যায়।
Exception Handling-এর উপায়
১. expectedExceptions ব্যবহার করে নির্দিষ্ট Exception যাচাই
@Test অ্যানোটেশনের expectedExceptions প্যারামিটার ব্যবহার করে টেস্ট মেথডটি কোন ব্যতিক্রম ছুঁড়বে তা পূর্বেই নির্ধারণ করা যায়।
সিনট্যাক্স:
@Test(expectedExceptions = ExceptionClass.class)
public void testMethod() {
// টেস্ট লজিক
}
Exception Handling-এর উদাহরণ
সাধারণ Exception Handling
import org.testng.annotations.Test;
public class ExceptionTest {
@Test(expectedExceptions = ArithmeticException.class)
public void testDivisionByZero() {
int result = 10 / 0; // এটি ArithmeticException ছুঁড়বে
System.out.println("Result: " + result);
}
}
বর্ণনা:
- টেস্ট মেথডে ১০ কে ০ দিয়ে ভাগ করা হয়েছে, যা
ArithmeticExceptionছুঁড়ে। expectedExceptionsপ্যারামিটার দিয়ে নিশ্চিত করা হয়েছে যে এই ব্যতিক্রমটি প্রত্যাশিত।
একাধিক ব্যতিক্রম পরিচালনা
import org.testng.annotations.Test;
public class MultiExceptionTest {
@Test(expectedExceptions = {ArithmeticException.class, NullPointerException.class})
public void testMultipleExceptions() {
String str = null;
System.out.println(str.length()); // এটি NullPointerException ছুঁড়বে
}
}
বর্ণনা:
- এখানে একাধিক ব্যতিক্রম (
ArithmeticException,NullPointerException) টেস্টে গ্রহণযোগ্য হিসাবে নির্ধারণ করা হয়েছে। - যদি উল্লিখিত ব্যতিক্রমগুলির যেকোনো একটি ঘটে, তবে টেস্ট পাস করবে।
নির্দিষ্ট ব্যতিক্রমের সাথে বার্তা যাচাই
import org.testng.annotations.Test;
import org.testng.Assert;
public class SpecificExceptionTest {
@Test
public void testSpecificExceptionMessage() {
try {
int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
Assert.assertEquals(e.getMessage(), "/ by zero", "Exception message does not match!");
}
}
}
বর্ণনা:
try-catchব্লক ব্যবহার করে ব্যতিক্রমটি ধরা হয়েছে।- ব্যতিক্রমের বার্তা
Assert.assertEquals()দিয়ে যাচাই করা হয়েছে।
Exception Handling-এর ব্যবহার ক্ষেত্রে
- ব্যতিক্রম যাচাই:
যেসব কোড অংশ ব্যতিক্রম তৈরি করতে পারে, সেগুলো সঠিকভাবে পরিচালনা এবং যাচাই করার জন্য। - রেসিলিয়েন্ট কোড:
এমন পরিস্থিতিতে, যেখানে ব্যতিক্রমের ফলে অ্যাপ্লিকেশন বা টেস্ট ব্যর্থ হতে পারে, তা এড়ানোর জন্য। - নির্দিষ্ট ব্যতিক্রম পরীক্ষাঃ
নিশ্চিত করা যে একটি নির্দিষ্ট ব্যতিক্রম ঘটে এবং তা সঠিকভাবে পরিচালিত হয়।
উপসংহার
TestNG-এর Exception Handling ফিচার ব্যবহার করে নির্দিষ্ট ব্যতিক্রম যাচাই এবং পরিচালনা করা যায়। এটি টেস্ট কেসকে আরও নির্ভরযোগ্য করে এবং ব্যতিক্রম ব্যবস্থাপনায় কার্যকর সমাধান প্রদান করে।
Read more