JUnit Ignore Test Cases: JUnit 4 @Ignore Vs JUnit 5 @Disabled

Бұл оқулық мысалдар арқылы JUnit жүйесіндегі сынақ жағдайларын елемеу жолын түсіндіреді. Сіз JUnit 4 &Ignore қолданбасында пайдалануды үйренесіз. JUnit 5-тегі @Disabled Аннотация:

Алдыңғы оқулықта біз 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 тестінде сынақ әдісін қалай өткізіп жіберу керектігін көрсетейік. Бірінші сынақ әдісін өткізіп жіберу үшін 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 аннотация

@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 қойындысының астындағы Орындау санақ 1 сыныптан өткізілген 1 сыныпты көрсетеді .

Төменде консоль терезесінің скриншоты берілген:

JUnit 5 – @Disabled Аннотация

JUnit 5 жүйесіндегі @Disabled аннотациясы JUnit 4 жүйесіндегі @Ignore аннотациясына ұқсас жұмыс істейді.

  • Сынақ деңгейінде аннотацияны қолдану арқылы сынақ әдісі немесе сынақтар тобы үшін орындауды өшіруге немесе өткізіп жіберуге болады.
  • Немесе сынақ әдісі деңгейіне қолданудың орнына @Disabled аннотациясын сынып деңгейінде қолдану арқылы барлық сынақтарды өткізіп жіберуге болады.

@Ignore сияқты, себеп те тапсырылуы мүмкін. @Disabled үшін кез келген әзірлеушіге немесе бизнес талдаушыға белгілі бір сынақтың неліктен өткізіліп кеткенін білу үшін. Параметр @Ignore жағдайындағыдай міндетті емес болып қалады.

( Ескертпе: Қайталануды болдырмау үшін біз @Disabled аннотациясын нақты код арқылы көрсетуден аулақ боламыз, себебі ол келесі JUnit 4-те @Ignore дәл солай орындалады.)

@Ignore Vs @Disabled жағдайында сіз байқайтын жалғыз айырмашылық мынада: аннотация мына жерде қолданылады: сынып деңгейі, JUnit сынып файлын орындаудан кейінгі, JUnit 4 жағдайындағы жүгіру саны 1/1 сыныпты өткізіп жібергенін көрсетеді.

Осылайша өткізілген сыныптың саны беріледі , ал JUnit 5 сыныптағы жалпы үш сынақ әдісінің үш сынақ әдісі өткізіп жіберілгенін ескере отырып, 3/3 сынақ жағдайлары өткізіліп жіберілгенін көрсетеді.

Демек, өткізілген сынақ жағдайларының саны , JUnit 5 JUnit 4-пен салыстырғанда сәл жақсы жұмыс істейді.

Қорытынды

Осы оқулықта біз бірнеше сынақ жағдайларын орындауды өткізіп жіберу қажет болатын жағдайларды білдік. Біз сондай-ақ JUnit 4 және JUnit 5-те кейбір сынақ жағдайларын өткізіп жіберуді үйрендік.

Жоғарыға айналу