JUnit անտեսել փորձարկման դեպքեր. JUnit 4 @Ignore Vs JUnit 5 @Disabled

Այս ձեռնարկը բացատրում է, թե ինչպես կարելի է անտեսել թեստի դեպքերը JUnit-ում օրինակներով: Դուք կսովորեք օգտագործել @Ignore-ը JUnit 4-ում & @Disabled Annotation in Junit 5:

Նախորդ ձեռնարկում մենք հասկացանք, թե ինչ է API-ն կոչվում է Annotation, ինչ է այն անում, ինչպես նաև տեսանք հիմնական օրինակներ, թե ինչպես օգտագործել կյանքի ցիկլի անոտացիաները, դրանց առաջնահերթությունները: պահեք, երբ փորձնական գործը կատարվում է:

Եկեք փորձենք լույս սփռել այն իրավիճակների վրա, երբ մենք պետք է չեն գործարկել կամ են չի ենթադրվում գործարկել բոլոր թեստային դեպքերը: Մենք կսովորենք անտեսել թեստի դեպքերը JUnit-ում:

JUnit Անտեսել թեստային դեպքերը

Կլինեն որոշակի թեստային դեպքեր, որոնք չեն իրականացվել, քանի որ դրանք չեն կարող իրականացվել: վերաբերում են որոշակի կոդի փոփոխություններին, կամ թեստային դեպքերի ծածկագիրը կարող է դեռ մշակման փուլում է, ուստի մենք խուսափում ենք դրանք գործարկել:

Այսպիսի դեպքերում մեզ կարող է անհրաժեշտ լինել գործարկել մի շարք թեստային դեպքեր՝ բաց թողնելով մի քանի այլ դեպքեր: . Այսպիսով, ի՞նչ է այն, որ JUnit 4-ը, ինչպես նաև JUnit 5-ը մեզ տալիս են, որպեսզի մենք կարողանանք գործարկել միայն մի քանի թեստային դեպքեր՝ անտեսելով կամ անջատելով կամ անվանել այն «բաց թողնելով» թեստային դեպքերից մի քանիսը:

Բարեբախտաբար, մենք ունենք @Ignore ծանոթագրություն JUnit 4 -ի համար՝ փորձնական դեպքը բաց թողնելու համար, մինչդեռ @Disabled անոտացիա JUnit 5 -ի համար: անել նույնը:

JUnit 4 – @Ignore Annotation

  • JUnit 4 @Ignore ծանոթագրությունը կարող է կիրառվել թեստային մեթոդի համար՝ դրա կատարումը բաց թողնելու համար: Այս դեպքում,դուք պետք է օգտագործեք @Ignore @Test անոտացիայի հետ՝ փորձարկման մեթոդի համար, որը ցանկանում եք բաց թողնել:
  • Ծանոթագրությունը կարող է կիրառվել նաև թեստային դասի վրա՝ դասի բոլոր թեստային դեպքերը բաց թողնելու համար: Այս դեպքում դուք պետք է օգտագործեք @Ignore դասի մակարդակում:

Կոդին անհրաժեշտ է, որ փաթեթը ներմուծվի org.junit.Ignore, որպեսզի @Ignore աշխատի: Եկեք ցույց տանք, թե ինչպես կարելի է բաց թողնել թեստի մեթոդը JUnit 4 թեստում: Մենք կփոփոխենք 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 annotation-ում նույնպես: Անոտացիան ընդունում է մեկ արգումենտ՝ տողային արժեքով, որը պատճառ է հանդիսանում թեստը բաց թողնելու համար:

Եկեք ցույց տանք @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-ին փոխանցված պատճառի:

Այժմ տեսնենք, թե ինչպես են բոլոր թեստերըդասին պատկանելը կարող է անջատվել: Այժմ մենք կթարմացնենք @Ignore անոտացիան JUnitProgram.java-ի դասի մակարդակում

Կոդի հատվածը հետևյալն է.

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 դասից .

Ստորև ներկայացված է վահանակի պատուհանի սքրինշոթը.

JUnit 5 – @Disabled Annotation

@Disabled annotation-ը JUnit 5-ում աշխատում է այնպես, ինչպես @Ignore annotation-ը JUnit 4-ում:

  • Դուք կարող եք անջատել կամ բաց թողնել փորձարկման մեթոդի կամ թեստերի խմբի կատարումը՝ կիրառելով ծանոթագրությունը Test մակարդակում:
  • Կամ բոլոր թեստերը կարող են բաց թողնել՝ կիրառելով @Disabled ծանոթագրությունը դասի մակարդակում՝ այն թեստավորման մեթոդի մակարդակում կիրառելու փոխարեն:

Ինչպես @Ignore, կարող է նաև պատճառ լինել: @Disabled-ի համար, որպեսզի ցանկացած ծրագրավորող կամ բիզնես վերլուծաբան իմանա, թե ինչու է բաց թողնվել որոշակի փորձնական դեպք: Պարամետրը մնում է ընտրովի, ինչպես @Ignore-ի դեպքում:

( Նշում․ ճշգրիտ ձևը, որին հետևում է @Ignore-ը JUnit 4-ում:)

Միակ տարբերությունը, որը դուք պետք է դիտարկեք @Ignore Vs @Disabled -ի դեպքում այն ​​է, որ երբ ծանոթագրությունը կիրառվում է դասի մակարդակ, JUnit դասի ֆայլի կատարումից հետո,Run count-ը JUnit 4 -ի դեպքում ցույց է տալիս, որ 1/1 դասը բաց է թողնվել:

Հետևաբար տրամադրվում է բաց թողնվող դասի հաշվարկ մինչդեռ այն դեպքում, Հունիս 5 ցույց է տալիս թեստային դեպքերի 3/3-ը բաց թողնված՝ հաշվի առնելով, որ թեստավորման երեք մեթոդները բաց են թողնվել դասարանի ընդհանուր երեք փորձարկման մեթոդներից:

Այսպիսով, բաց թողնված թեստային դեպքերի թվի տեսանելիությունը , Հունիս 5 մի փոքր ավելի լավ աշխատանք է կատարում` համեմատած ՀՈՒՆ 4-ի հետ:

Եզրակացություն

Այս ձեռնարկում մենք իմացանք, թե որոնք են այն իրավիճակները, երբ մեզ կարող է անհրաժեշտ լինել բաց թողնել մի քանի թեստային դեպքերի կատարումը: Մենք նաև սովորեցինք, թե ինչպես կարելի է բաց թողնել որոշ թեստային դեպքեր ինչպես JUnit 4-ում, այնպես էլ JUnit 5-ում:

Գնալ վեր