টেস্টএনজি-তে @Test(enabled=false) এনোটেশন ব্যবহার করে নির্দিষ্ট কোনো টেস্ট মেথড ইগনোর বা বাদ দেওয়া যায়। এটি তখনই কার্যকর, যখন আপনি কোনো টেস্ট মেথড চালাতে চান না বা সাময়িকভাবে সেটি নিষ্ক্রিয় রাখতে চান।
কীভাবে কাজ করে?
@Test এনোটেশনের enabled অ্যাট্রিবিউট ডিফল্টভাবে true থাকে, যার মানে হলো টেস্টটি চালানো হবে। যদি এটিকে false সেট করা হয়, তবে টেস্টটি এক্সিকিউশন প্রক্রিয়া থেকে বাদ পড়বে।
@Test(enabled=false) এর উদাহরণ
import org.testng.annotations.Test;
public class IgnoreTestExample {
@Test
public void test1() {
System.out.println("Test 1 is running.");
}
@Test(enabled = false)
public void test2() {
System.out.println("Test 2 is ignored.");
}
@Test
public void test3() {
System.out.println("Test 3 is running.");
}
}
আউটপুট:
Test 1 is running.
Test 3 is running.
উপরের উদাহরণে, test2() মেথডে enabled = false সেট করার কারণে এটি চালানো হবে না। অন্যদিকে, test1() এবং test3() মেথডগুলো স্বাভাবিকভাবে চালানো হবে।
কেন এটি ব্যবহার করা হয়?
১. সাময়িক নিষ্ক্রিয়তা: ডেভেলপমেন্ট চলাকালীন কোনো টেস্ট চালাতে না চাইলে এটি ব্যবহার করা হয়।
২. ডিবাগিং সহায়তা: ডিবাগ করার সময় অপ্রয়োজনীয় টেস্টগুলো এড়িয়ে যাওয়ার জন্য।
৩. অপূর্ণ ফিচার: যদি টেস্ট মেথডটি কোনো অসমাপ্ত ফিচারের জন্য লেখা হয়, তবে সেটি ইগনোর করা যেতে পারে।
৪. টেস্ট ব্যর্থতা এড়ানো: যখন কোনো টেস্ট ডেটা বা পরিবেশ প্রস্তুত নয়, তখন ইগনোর করে রাখা যায়।
প্রয়োজনীয় সতর্কতা
@Test(enabled=false)দিয়ে টেস্ট ইগনোর করা সাময়িক সমাধান। টেস্ট দীর্ঘদিন ধরে নিষ্ক্রিয় রাখা ঠিক নয়।- ফাইনাল বিল্ডে যাবার আগে নিষ্ক্রিয় টেস্টগুলো পুনরায় চালানো এবং তাদের কার্যকারিতা যাচাই করা উচিত।
অন্যান্য বিকল্প
টেস্ট ইগনোর করার জন্য @Test(enabled=false) ছাড়াও অন্যান্য উপায় ব্যবহার করা যায়। যেমন:
- গ্রুপিং এবং XML কনফিগারেশন: XML ফাইলের মাধ্যমে নির্দিষ্ট টেস্ট বাদ দেওয়া।
- DependsOnMethods: নির্ভরশীল টেস্ট মেথড বাদ দেওয়া।
- Conditional Skip: নির্দিষ্ট শর্তে টেস্ট স্কিপ করা (যেমন
throw new SkipException("Message"))।
@Test(enabled=false) হল একটি সহজ এবং কার্যকর উপায় টেস্ট ইগনোর করার জন্য, বিশেষত যখন দ্রুত সমাধান প্রয়োজন হয়। তবে এটি ব্যবহারে পরিকল্পিত এবং সংগঠিত পদ্ধতি অনুসরণ করা উচিত।
Read more