junit ignore test case
Tento kurz vysvětluje, jak na příkladech ignorovat testovací případy v JUnit. Naučíte se používat @Ignore v JUnit 4 & @Disabled Annotation v JUnit 5:
V předchozím tutoriálu jsme pochopili, co je API nazvané Annotation, co dělá, a také jsme viděli základní příklady, jak používat anotace životního cyklu, priority, které mají při spuštění testovacího případu.
Zkusme vrhnout světlo na situace, kdy my potřeba ne spustit nebo jsou ne předpokládal spustit všechny testovací případy. Naučíme se ignorovat testovací případy v JUnit.
=> Zkontrolujte VŠECHNY výukové programy JUnit zde.
co je nesoulad klíče zabezpečení sítě
Co se naučíte:
JUnit Ignorovat testovací případy
Mohly by existovat určité testovací případy, které nelze spustit, protože se nemusí týkat určitých změn kódu nebo může být kód pro testovací případy stále ve vývoji, takže se jim vyhýbáme.
V takových případech možná budeme muset spustit sadu testovacích případů přeskočením několika dalších. Co je to, co nám JUnit 4, stejně jako JUnit 5, poskytuje, abychom mohli spustit pouze několik testovacích případů, zatímco ignorujeme nebo deaktivujeme nebo je nazýváme „přeskočením“ několika testovacích případů?
Naštěstí ano @Ignorovat anotace pro JUnit 4 přeskočit testovací případ, zatímco @ Zakázáno anotace pro JUnit 5 udělat totéž.
JUnit 4 - @Ignore Annotation
- Pro testovací metodu lze použít anotaci JUnit 4 @Ignore, která přeskočí její provedení. V takovém případě musíte použít @Ignore s anotací @Test pro testovací metodu, kterou chcete přeskočit.
- Anotaci lze také použít na testovací třídu, aby se přeskočily všechny testovací případy v rámci třídy. V tomto případě musíte použít @Ignore na úrovni třídy.
Kód potřebuje balíček org.junit.Ignore, aby byl importován, aby @Ignore fungoval. Ukážeme si, jak přeskočit testovací metodu v testu JUnit 4. Upravíme JUnitProgram.java tak, aby přeskočil první metodu testcase.
Fragment kódu je:
@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'); }
Při provádění souboru třídy je test_JUnit1 () během provádění přeskočen. Kromě toho metoda komentovaná pomocí @Ignore a všech ostatních testovacích metod běží podle očekávání.
Výsledný počet běhů zobrazuje 3/3 testovacích případů a 1 testka ukazuje přeskočení. Počet běhů se ukázal 3/3, protože i přeskočený testcase se pokusil provést.
Níže uvedený snímek obrazovky konzoly dokazuje totéž.
@ Ignorovat anotaci s parametrem důvodu
I v anotaci @Ignore existuje variace. Anotace přijímá jeden argument s řetězcovou hodnotou, která je důvodem pro přeskočení testu.
python více příkazů if na jednom řádku
Ukažme si tuto variantu anotace @Ignore.
Fragment kódu je následující:
@Ignore('the testcase is under development') @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); }
Okno konzoly zobrazuje stejný výsledník, jaký byl bez důvodu předaného anotaci @Ignore.
Nyní se podívejme, jak by mohly být deaktivovány všechny testy patřící do třídy. Nyní budeme aktualizovat anotaci @Ignore na úrovni třídy pro JUnitProgram.java
Fragment kódu je zobrazen níže:
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('_______________________________________________________
'); 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'); }
Po provedení souboru třídy, řídicí panel ukazuje nic, a Běh počet pod záložkou JUnit 1 třída byla z 1 třídy přeskočena .
Níže je snímek obrazovky okna konzoly:
JUnit 5 - @Disabled Annotation
@Disabled anotace v JUnit 5 funguje podobně jako @Ignore anotace v JUnit 4.
- Můžete zakázat nebo přeskočit provedení testovací metody nebo skupiny testů použitím anotace na testovací úrovni.
- Nebo lze všechny testy přeskočit použitím anotace @Disabled na úrovni třídy namísto použití na úrovni testovací metody.
Stejně jako @Ignore může být pro @Disabled předán důvod, aby každý vývojář nebo obchodní analytik věděl, proč byl přeskočen konkrétní testovací kufřík. Parametr zůstává volitelný, stejně jako v případě @Ignore.
nejlepší aplikace pro stahování hudby pro Android
( Poznámka: Vyhneme se demonstraci anotace @Disabled prostřednictvím skutečného kódu, abychom se vyhnuli opakování, protože přesně odpovídá způsobu, jakým @Ignore následuje v JUnit 4.)
Jediný rozdíl, který budete dodržovat v případě @Ignore Vs @Disabled je to, že když je anotace použita na úrovni třídy, po provedení souboru třídy JUnit, počet spuštění v případě JUnit 4 , ukazuje vynechanou třídu 1/1.
Tedy a je uveden počet přeskočených tříd zatímco v případě JUnit 5 ukazuje, že 3/3 testovacích případů je vzhledem k tomu přeskočeno byly vynechány tři zkušební metody z celkových tří zkušebních metod ve třídě.
Proto na viditelnost počtu vynechaných testovacích případů , JUnit 5 dělá trochu lepší ve srovnání s JUnit 4.
Závěr
V tomto kurzu jsme se naučili, jaké jsou situace, kdy budeme možná muset přeskočit provedení několika testovacích případů. Také jsme se naučili, jak přeskočit určité testovací případy v JUnit 4 i JUnit 5.
=> Navštivte zde a prohlédněte si tréninkovou sérii JUnit pro všechny.
Doporučené čtení
- Seznam anotací JUnit: JUnit 4 Vs JUnit 5
- Testy JUnit: Jak psát testovací případy JUnit s příklady
- Výukový program JUnit pro začátečníky - Co je testování JUnit
- Co je testovací přípravek JUnit: Výukový program s příklady JUnit 4
- Stahujte, instalujte a konfigurujte JUnit v Eclipse
- Několik způsobů provádění testů JUnit
- Úvod do rámce JUnit a jeho použití v selenovém skriptu - výuka selenu č. 11
- Tvrzení v selenu pomocí rámců Junit a TestNG