JUnit හි පරීක්ෂණ අවස්ථා නොසලකා හරින ආකාරය මෙම නිබන්ධනය උදාහරණ සමඟ පැහැදිලි කරයි. ඔබ ජූනි 4 සහ amp; @Disabled Annotation in JUnit 5:
පෙර නිබන්ධනයේදී, අපට Annotation නම් API යනු කුමක්ද, එය කරන්නේ කුමක්ද යන්න ග්රහණය කර ගැනීමට හැකි වූ අතර ජීවන චක්ර අනුසටහන් භාවිතා කරන්නේ කෙසේද, ඒවායේ ප්රමුඛතා පිළිබඳ මූලික උදාහරණ ද දැකගත හැකි විය. පරීක්ෂණ නඩුවක් ක්රියාත්මක වූ විට අල්ලාගෙන සිටින්න.
අපට අවශ්ය නොවන ක්රියාත්මක වන විට හෝ වන විට තත්ත්වයන් වෙත ආලෝකය ලබාදීමට උත්සාහ කරමු සියලුම පරීක්ෂණ අවස්ථා ක්රියාත්මක කිරීමට හිතන නොවේ. අපි ජූනිට් හි පරීක්ෂණ අවස්ථා නොසලකා හැරීමට ඉගෙන ගනිමු.
ජූනිට් පරීක්ෂණ අවස්ථා නොසලකා හැරීම
පරීක්ෂණ නොකෙරෙන ඇතැම් පරීක්ෂණ අවස්ථා තිබිය හැක. ඇතැම් කේත වෙනස් කිරීම්වලට අදාළ වීම හෝ පරීක්ෂණ අවස්ථා සඳහා කේතය තවමත් සංවර්ධනය වෙමින් පවතී, එබැවින් අපි ඒවා ක්රියාත්මක කිරීමෙන් වළකිමු.
එවැනි අවස්ථා වලදී, අපට තවත් කිහිපයක් මඟ හැරීමෙන් පරීක්ෂණ අවස්ථා කට්ටලයක් ධාවනය කිරීමට අවශ්ය විය හැකිය. . එසේනම්, JUnit 4, මෙන්ම JUnit 5, අපට ලබා දෙන්නේ පරීක්ෂණ අවස්ථා කිහිපයක් නොසලකා හරිමින් හෝ අක්රිය කරමින් හෝ එය 'මඟහැරීම' ලෙස හඳුන්වන අතරතුර පරීක්ෂණ අවස්ථා කිහිපයක් පමණක් ධාවනය කිරීමට අපට හැකි වන පරිදි?
වාසනාවකට මෙන්, අපට පරීක්ෂණ නඩුවක් මඟ හැරීම සඳහා @නොසලකා හැරීම JUnit 4 සඳහා විවරණ ඇති අතර @Disabled JUnit 5 සඳහා විවරණ ඇත. එයම කිරීමට.
JUnit 4 – @Ignore Annotation
- JUnit 4 @Ignore annotation එය ක්රියාත්මක කිරීම මඟ හැරීම සඳහා පරීක්ෂණ ක්රමයක් සඳහා යෙදිය හැක. මේ අවස්ථාවේ දී,ඔබට මඟ හැරීමට අවශ්ය පරීක්ෂණ ක්රමයක් සඳහා @Test අනුසටහන සමඟ @ නොසලකා හැරීම භාවිතා කිරීමට අවශ්ය වේ.
- පන්තියක් යටතේ ඇති සියලුම පරීක්ෂණ අවස්ථා මඟ හැරීමට, පරීක්ෂණ පන්තියට ද විවරණ යෙදිය හැක. මෙම අවස්ථාවේදී, ඔබ පන්ති මට්ටමින් @Ignore භාවිතා කළ යුතුය.
කේතයට org.junit පැකේජය අවශ්ය වේ. @Ignore ක්රියා කිරීමට ආනයනය කිරීමට Ignore. JUnit 4 පරීක්ෂණයකදී පරීක්ෂණ ක්රමයක් මඟ හැරිය යුතු ආකාරය නිරූපණය කරමු. අපි JUnitProgram.java පළමු testcase ක්රමය මඟ හැරීමට වෙනස් කරමු.
කේත කොටස:
@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 annotation හි මෙම විචලනය නිරූපණය කරමු.
කේත කොටස පහත පරිදි වේ. :
@Ignore("the testcase is under development") @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); }
කොන්සෝල කවුළුව @Ignore annotation වෙත යවන ලද හේතුවක් නොමැතිව තිබූ ප්රතිඵලයම පෙන්වයි.
දැන්, අපි බලමු සියලු පරීක්ෂණ සිදු කරන්නේ කෙසේදැයි බලමු.පන්තියකට අයත් වීම ආබාධිත විය හැකිය. අපි දැන් 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 ටැබය යටතේ ඇති ධාවනය ගණනය 1 පන්තිය 1 පන්තියෙන් මඟ හැර ඇත .
පහත දැක්වෙන්නේ කොන්සෝල කවුළුවේ තිර රුවක්:
ජූනි 5 – @Disabled Annotation
JUnit 5 හි @Disabled annotation ක්රියා කරන්නේ JUnit 4 හි @ නොසලකා හරින විවරණයට සමානව ය.
- පරීක්ෂණ මට්ටමින් විවරණ යෙදීමෙන් ඔබට පරීක්ෂණ ක්රමයක් හෝ පරීක්ෂණ සමූහයක් සඳහා ක්රියාත්මක කිරීම අබල කිරීමට හෝ මඟ හැරීමට හැකිය.
- නැතහොත් @Disabled annotation පරීක්ෂණ ක්රම මට්ටමට යෙදීම වෙනුවට පන්ති මට්ටමින් යෙදීමෙන් සියලුම පරීක්ෂණ මඟ හැරිය හැක.
@Ignore මෙන්, හේතුවක් ද සමත් විය හැක. කිසියම් සංවර්ධකයෙකුට හෝ ව්යාපාර විශ්ලේෂකයෙකුට @Disabled සඳහා නිශ්චිත පරීක්ෂණ නඩුවක් මඟ හැරියේ මන්දැයි දැන ගැනීමට. @Ignore හි දී මෙන් පරාමිතිය විකල්පමයව පවතී.
( සටහන: අපි @Disabled විවරණය සත්ය කේතයක් හරහා ප්රදර්ශනය කිරීමෙන් වළකිමු, එය පහත පරිදි පුනරාවර්තනය වීම වළක්වා ගත යුතුය. @Ignore ජූනි 4 හි අනුගමනය කරන නියම විලාසිතාව.)
@Ignore Vs @Disabled හි ඔබ නිරීක්ෂණය කළ යුතු එකම වෙනස වන්නේ විවරණ යෙදෙන විටය. පන්ති මට්ටම, JUnit පන්තියේ ගොනුවේ පශ්චාත්-ක්රියාත්මක කිරීම, JUnit 4 හි ධාවන ගණන, 1/1 පන්තිය මඟ හැර ඇති බව පෙන්වයි.
එබැවින් පහළ කරන ලද පන්තියේ ගණන් කිරීම සපයා ඇති අතර, JUnit 5 පෙන්වන්නේ පන්තියේ මුළු පරීක්ෂණ ක්රම තුනෙන් පරීක්ෂණ ක්රම තුනක් මඟ හැර ඇති බව සලකන විට පරීක්ෂණ අවස්ථා 3/3ක් මඟ හැරී ඇත.
එබැවින්, පැනගිය පරීක්ෂණ අවස්ථා ගණන , ජූනිට් 5 ජූනිට් 4 හා සසඳන විට තරමක් වඩා හොඳ කාර්යයක් කරයි.