এই টিউটোৰিয়েলে JUnit ত পৰীক্ষাৰ ক্ষেত্ৰসমূহ কেনেকৈ আওকাণ কৰিব লাগে উদাহৰণৰ সৈতে ব্যাখ্যা কৰে। আপুনি JUnit 4 & @Disabled Annotation in JUnit 5:
পূৰ্বৰ টিউটোৰিয়েলত, আমি Annotation নামৰ API কি, ই কি কৰে, সেইটো বুজিব পাৰিলোঁ আৰু জীৱনচক্ৰৰ টীকাসমূহ কেনেকৈ ব্যৱহাৰ কৰিব লাগে, ইয়াৰ অগ্ৰাধিকাৰসমূহৰ মৌলিক উদাহৰণো দেখিলোঁ এটা পৰীক্ষাৰ ক্ষেত্ৰ এক্সিকিউট কৰাৰ সময়ত ধৰি ৰাখক।
আহক আমি চালনাৰ প্ৰয়োজন নহয় বা আছে পৰিস্থিতিসমূহৰ ওপৰত পোহৰ পেলাবলৈ চেষ্টা কৰোঁ সকলো পৰীক্ষাৰ ক্ষেত্ৰ চলাব নালাগে । আমি JUnit ত পৰীক্ষাৰ ক্ষেত্ৰসমূহ আওকাণ কৰিবলৈ শিকিম।
JUnit পৰীক্ষাৰ ক্ষেত্ৰসমূহ আওকাণ কৰক
কিছুমান পৰীক্ষাৰ ক্ষেত্ৰ থাকিব পাৰে যিবোৰ চলোৱা নহয় কাৰণ সেইবোৰ চলোৱা নহ'বও পাৰে কিছুমান ক'ড পৰিবৰ্তনৰ সৈতে জড়িত বা পৰীক্ষাৰ ক্ষেত্ৰসমূহৰ বাবে ক'ড এতিয়াও বিকাশৰ অধীনত থাকিব পাৰে, গতিকে আমি সিহতক চলোৱা এৰাই চলোঁ।
এনে ক্ষেত্ৰত, আমি আন কেইটামান এৰি পৰীক্ষাৰ এটা গোট চলাব লাগিব . গতিকে, JUnit 4, লগতে JUnit 5 এ আমাক কি প্ৰদান কৰে যাতে আমি মাত্ৰ কেইটামান পৰীক্ষাৰ ক্ষেত্ৰ চলাব পাৰো আৰু ইয়াক আওকাণ বা নিষ্ক্ৰিয় কৰি বা ইয়াক কেইটামান পৰীক্ষাৰ ক্ষেত্ৰ 'এৰি যোৱা' বুলি ক'ব পাৰো?
সৌভাগ্যক্ৰমে, আমাৰ এটা পৰীক্ষাৰ ক্ষেত্ৰ এৰিবলৈ JUnit 4 ৰ বাবে @Ignore টীকা আছে আনহাতে JUnit 5 ৰ বাবে @Disabled টীকা আছে একে কাম কৰিবলৈ।
JUnit 4 – @Ignore Annotation
- JUnit 4 @Ignore টীকাকৰণক এটা পৰীক্ষা পদ্ধতিৰ বাবে প্ৰয়োগ কৰিব পাৰি, ইয়াৰ নিষ্পাদন এৰিবলৈ। এই ক্ষেত্ৰত,আপুনি এৰিব বিচৰা এটা পৰীক্ষা পদ্ধতিৰ বাবে @Ignore ব্যৱহাৰ কৰিব লাগিব @Test টীকাকৰণৰ সৈতে।
- টীকাকৰণক পৰীক্ষা শ্ৰেণীত প্ৰয়োগ কৰিব পাৰি, এটা শ্ৰেণীৰ অধীনত সকলো পৰীক্ষাৰ ক্ষেত্ৰ এৰিবলৈ। এই ক্ষেত্ৰত, আপুনি শ্ৰেণী স্তৰত @Ignore ব্যৱহাৰ কৰিব লাগিব।
ক'ডক @Ignore কাম কৰিবলৈ org.junit.Ignore পেকেইজ আমদানি কৰাৰ প্ৰয়োজন। JUnit 4 পৰীক্ষাত এটা পৰীক্ষা পদ্ধতি কেনেকৈ এৰিব পাৰি তাক দেখুৱাওঁ আহক। আমি প্ৰথম testcase পদ্ধতি এৰিবলৈ JUnitProgram.java পৰিবৰ্তন কৰিম।
ক'ড স্নিপেট হ'ল:
@Ignore @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); } @Test public void test_JUnit2() { System.out.println("This is the testcase test_JUnit2() in this class"); } @Test public void test_JUnit3() { System.out.println("This is the testcase test_JUnit3() in this class"); }
ক্লাছ ফাইলৰ এক্সিকিউচনত, test_JUnit1() নিষ্পাদনৰ সময়ত এৰি দিয়া হয়। ইয়াৰ উপৰিও, @Ignore ৰ সৈতে টীকা কৰা পদ্ধতি আৰু অন্য সকলো পৰীক্ষা পদ্ধতি আশা কৰা ধৰণে চলি থাকে।
ফলস্বৰূপে চলোৱা গণনাই 3/3 পৰীক্ষাৰ ক্ষেত্ৰ দেখুৱায় আৰু 1 টা পৰীক্ষাৰ ক্ষেত্ৰ এৰি দিয়া দেখুৱায়। চলন গণনাই 3/3 দেখুৱাইছিল কাৰণ আনকি এৰি দিয়া পৰীক্ষাকেছেও এক্সিকিউট কৰিবলে চেষ্টা কৰিছিল।
ক'ন্সোল উইন্ডোৰ তলৰ পৰ্দাশটে একে প্ৰমাণ কৰে।
@Ignore Annotation With A Reason Parameter
@Ignore টীকাকৰণৰ এটা ভিন্নতাও আছে। টীকাকৰণে এটা ষ্ট্ৰিং মানৰ সৈতে এটা যুক্তি লয় যিটো পৰীক্ষা এৰি দিয়াৰ কাৰণ।
@Ignore টীকাকৰণৰ এই ভিন্নতা প্ৰদৰ্শন কৰোঁ আহক।
ক'ড স্নিপেটটো তলত দিয়া ধৰণৰ :
@Ignore("the testcase is under development") @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); }
কনছ'ল উইণ্ড'ই @Ignore টীকালৈ কাৰণ পাছ নকৰাকৈ থকাৰ দৰে একে ফলাফল দেখুৱায়।
এতিয়া, সকলো পৰীক্ষা কেনেকৈ হয় চাওঁ আহকএটা শ্ৰেণীৰ অন্তৰ্গত হোৱাটো নিষ্ক্ৰিয় কৰিব পাৰি। আমি এতিয়া JUnitProgram.java
ৰ বাবে ক্লাছ স্তৰত @Ignore টীকা আপডেট কৰিম
ক'ড স্নিপেট তলত দেখুওৱাৰ দৰে:
import org.junit.AfterClass; @Ignore("the testcase is under development") public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println("This is the preClass() method that runs one time before the class"); } @Before public void setUp() { System.out.println("_______________________________________________________\n"); System.out.println("This is the setUp() method that runs before each testcase"); } @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); }
ক্লাছ ফাইলৰ পোষ্ট এক্সিকিউচন, কনছ'ল এ একো নাই, দেখুৱায় আৰু JUnit টেবৰ অন্তৰ্গত Run count এ 1 শ্ৰেণী2 ৰ পৰা এৰি দিয়া শ্ৰেণী দেখুৱায়>.
তলত ক'ন্সোল উইন্ডোৰ পৰ্দাশট দিয়া হৈছে:
JUnit 5 – @Disabled Annotation
JUnit 5 ত @Disabled টীকাকৰণে JUnit 4 ত @Ignore টীকাকৰণৰ দৰেই কাম কৰে।
- আপুনি এটা পৰীক্ষা পদ্ধতি বা পৰীক্ষাৰ এটা গোটৰ বাবে নিষ্পাদন নিষ্ক্ৰিয় বা এৰিব পাৰে পৰীক্ষা স্তৰত টীকা প্ৰয়োগ কৰি।
- বা পৰীক্ষা পদ্ধতি স্তৰত প্ৰয়োগ কৰাৰ পৰিৱৰ্তে শ্ৰেণী স্তৰত @Disabled টীকা প্ৰয়োগ কৰি সকলো পৰীক্ষা এৰিব পাৰি।
@Ignore ৰ দৰে, এটা কাৰণো উত্তীৰ্ণ হ'ব পাৰে যিকোনো ডেভেলপাৰ বা ব্যৱসায়িক বিশ্লেষকৰ বাবে @Disabled ৰ বাবে এটা নিৰ্দিষ্ট পৰীক্ষাৰ ক্ষেত্ৰ কিয় এৰি দিয়া হৈছিল জানিবলৈ। @Ignore ৰ ক্ষেত্ৰত হোৱাৰ দৰেই প্ৰাচলটো বৈকল্পিক হৈ থাকে।
( টোকা: আমি @Disabled টীকাক এটা প্ৰকৃত ক'ডৰ জৰিয়তে প্ৰদৰ্শন কৰাটো এৰাই চলিম যাতে পুনৰাবৃত্তি এৰাই চলিব পাৰো কাৰণ ই অনুসৰণ কৰে @Ignore য়ে JUnit 4 ত অনুসৰণ কৰে।)
@Ignore Vs @Disabled ৰ ক্ষেত্ৰত আপুনি লক্ষ্য কৰিবলগীয়া একমাত্ৰ পাৰ্থক্যটো হ'ল যেতিয়া টীকা প্ৰয়োগ কৰা হয় ক্লাছ স্তৰ, JUnit ক্লাছ ফাইলৰ পিছত এক্সিকিউচন, JUnit 4 ৰ ক্ষেত্ৰত Run count, 1/1 ক্লাছ এৰি দিয়া দেখুৱায়।
সেয়েহে এৰি দিয়া ক্লাছৰ এটা count প্ৰদান কৰা হয় য'ত ৰ ক্ষেত্ৰত JUnit 5 য়ে দেখুৱাইছে যে শ্ৰেণীটোৰ মুঠ তিনিটা পৰীক্ষা পদ্ধতিৰ ভিতৰত তিনিটা পৰীক্ষা পদ্ধতি এৰি দিয়া হৈছিল বুলি বিবেচনা কৰি 3/3 টা পৰীক্ষাৰ ক্ষেত্ৰ এৰি দিয়া হৈছে।
সেয়েহে,... বাদ দিয়া পৰীক্ষাৰ ক্ষেত্ৰ গণনাৰ দৃশ্যমানতা , JUnit 5 এ JUnit 4 ৰ তুলনাত অলপ ভাল কাম কৰে।
উপসংহাৰ
এই টিউটোৰিয়েলত আমি শিকিলোঁ যে কি কি পৰিস্থিতি হয় যেতিয়া আমি কেইটামান পৰীক্ষাৰ ক্ষেত্ৰৰ এক্সিকিউচন এৰিব লাগিব। আমি JUnit 4 ৰ লগতে JUnit 5.
দুয়োটাতে কিছুমান পৰীক্ষাৰ ক্ষেত্ৰ কেনেকৈ এৰিব লাগে সেই বিষয়েও শিকিলোঁ