Понякога може да се наложи да не изпълнявате метод / код или тестов случай, тъй като кодирането не се извършва напълно. За този конкретен тест JUnit предоставя анотация @Ignore, за да пропусне теста.
В този урок ще научите -
- Какво е JUnit @Ignore тестова анотация
- Пример за тест на Junit - игнориране
- Създаване на прост тестов клас, без да се пренебрегва тест
- Игнорирайте тестов метод, като използвате @Ignore анотация
- Използване на @ ignore анотация с Condition
- Игнорирайте всички тестови методи, като използвате анотация @Ignore.
Какво е JUnit @Ignore тестова анотация
Тестовата анотация @Ignore се използва за игнориране на определени тестове или група тестове, за да се пропусне неуспеха на компилацията.
@Ignore анотацията може да се използва в два сценария, както е дадено по-долу:
- Ако искате да игнорирате тестов метод, използвайте @Ignore заедно с @Test анотация.
- Ако искате да игнорирате всички тестове на клас, използвайте @Ignore анотация на ниво клас.
Можете да посочите причината за деактивиране на тест в незадължителния параметър, предоставен от анотирането @Ignore.
Това ще помогне на други разработчици, работещи върху същия код, да разберат „защо даден тест е деактивиран?“ Когато проблемът с този конкретен тест е решен, можете просто да го активирате, като премахнете анотацията @Ignore .
Пример за тест на Junit - игнориране
Както беше обсъдено в горната дефиниция, можете да използвате анотация @Ignore, за да игнорирате тест или група от теста.
Нека го разберем, като използваме прост пример и в дадени по-долу сценарии:
- Създаване на прост тестов клас, без да се пренебрегва тест.
- Игнорирайте тестов метод, използвайки @Ignore анотация.
- Игнорирайте тестов метод с помощта на анотация @Ignore с подходяща причина.
- Игнорирайте всички тестови методи, като използвате @Ignore анотация.
Създаване на прост тестов клас, без да се пренебрегва тест
Нека създадем прост Java клас, който отпечатва два вида съобщения.
- Първият метод отпечатва обикновено съобщение и
- Вторият метод отпечатва съобщение "hi"
JUnitMessage.java
пакет guru99.junit;публичен клас JUnitMessage {частно низово съобщение;публично JUnitMessage (низово съобщение) {this.message = съобщение;}публичен низ printMessage () {System.out.println (съобщение);съобщение за връщане;}публичен низ printHiMessage () {message = "Здравей!" + съобщение;System.out.println (съобщение);съобщение за връщане;}}
JunitTestExample.java
Нека създадем JUnit тестов клас, за да тестваме JUnitMessage.java.
В този JUnit тест клас,
- Първи тест, наречен "testJUnitMessage ()" тества "метод printMessage ()" от горния клас.
- По същия начин вторият тест, наречен "testJUnitHiMessage" тества "testJUnitHiMessage" от горния клас.
пакет guru99.junit;импортиране на статични org.junit.Assert.assertEquals;внос org.junit.Test;публичен клас JunitTestExample {публично низово съобщение = "Guru99";JUnitMessage junitMessage = ново JUnitMessage (съобщение);@Тестpublic void testJUnitMessage () {System.out.println („Junit Message се отпечатва“);assertEquals (message, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Здравей!" + съобщение;System.out.println ("Junit Hi Message се отпечатва");assertEquals (message, junitMessage.printHiMessage ());}}
TestRunner.java
Нека създадем тестов клас за изпълнение, за да изпълним JunitTestExample.java
пакет guru99.junit;внос org.junit.runner.JUnitCore;внос org.junit.runner.Result;внос org.junit.runner.notification.Failure;публичен клас TestRunner {публична статична void main (String [] args) {Резултат от резултата = JUnitCore.runClasses (JunitTestExample.class);за (Неуспех при неуспех: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Резултат ==" + result.wasSuccessful ());}}
Изход:
Отпечатване на изявление на конзолата:
Junit Hi Message се отпечатва
Здравей! Guru99
Junit Message се отпечатва
Гуру99
Игнорирайте тестов метод, като използвате @Ignore анотация
Нека създадем тест за игнориране, за да деактивираме тест в горния пример. За това трябва да използвате @Ignore в метода, който искате да пропуснете.
Нека го направим за testJUnitMessage () на JunitTestExample.java
JunitTestExample.java
пакет guru99.junit;импортиране на статични org.junit.Assert.assertEquals;внос org.junit.Ignore;внос org.junit.Test;публичен клас JunitTestExample {публично низово съобщение = "Guru99";JUnitMessage junitMessage = ново JUnitMessage (съобщение);@Игнорирай@Тестpublic void testJUnitMessage () {System.out.println („Junit Message се отпечатва“);assertEquals (message, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Здравей!" + съобщение;System.out.println ("Junit Hi Message се отпечатва");assertEquals (message, junitMessage.printHiMessage ());}}
Изход:
Нека изпълним и проверим резултата от горния пример.
По-долу изходът показва, че един тест е пропуснат (деактивиран), вижте, както е отбелязано по-долу:
Отпечатване на изявление на конзолата:
Junit Hi Message се отпечатва
Здравей! Guru99
Използване на @ ignore анотация с Condition
Нека вземем примера как да игнорираме тест и заедно с него да определим причината за игнорирането. Както беше обсъдено по-горе, за да посочите причина, имате един незадължителен параметър в анотацията @Ignore, където можете да предоставите изявлението за причината.
JunitTestExample.java
пакет guru99.junit;импортиране на статични org.junit.Assert.assertEquals;внос org.junit.Ignore;внос org.junit.Test;публичен клас JunitTestExample {публично низово съобщение = "Guru99";JUnitMessage junitMessage = ново JUnitMessage (съобщение);@Ignore („все още не е готов, моля, игнорирайте.“)@Тестpublic void testJUnitMessage () {System.out.println („Junit Message се отпечатва“);assertEquals (message, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Здравей!" + съобщение;System.out.println ("Junit Hi Message се отпечатва");assertEquals (message, junitMessage.printHiMessage ());}}
Изход:
Същото като по-горе.
Игнорирайте всички тестови методи, като използвате анотация @Ignore.
Както беше обсъдено по-горе, за да игнорирате всички тестове в клас, трябва да използвате @Ignore анотация на ниво клас.
Нека модифицираме горния пример, за да разберем как да игнорираме всички тестове:
пакет guru99.junit;импортиране на статични org.junit.Assert.assertEquals;внос org.junit.Ignore;внос org.junit.Test;@Игнорирайпубличен клас JunitTestExample {публично низово съобщение = "Guru99";JUnitMessage junitMessage = ново JUnitMessage (съобщение);@Тестpublic void testJUnitMessage () {System.out.println („Junit Message се отпечатва“);assertEquals (message, junitMessage.printMessage ());}@Тестpublic void testJUnitHiMessage () {message = "Здравей!" + съобщение;System.out.println ("Junit Hi Message се отпечатва");assertEquals (message, junitMessage.printHiMessage ());}}
Изход:
Отпечатване на изявление на конзолата:
Тъй като и двата теста са пропуснати с помощта на @Ignore на ниво клас, така че на конзолата няма да се отпечатва изявление.
Резюме:
В този урок научихте как да игнорирате единичен тест, група от тестове или всички тестове, като използвате анотация @Ignore.
@Ignore анотацията може да се използва в два сценария, както е дадено по-долу:
- Ако искате да игнорирате тестов метод, използвайте @Ignore заедно с @Test анотация.
- Ако искате да игнорирате всички тестове на клас, използвайте @Ignore анотация на ниво клас.
Също така научихте как да предоставите изявление, за да разберете друг разработчик, защо даден тест е деактивиран.