JUnit @Ignore Test Annotation с пример

Съдържание:

Anonim

Понякога може да се наложи да не изпълнявате метод / код или тестов случай, тъй като кодирането не се извършва напълно. За този конкретен тест JUnit предоставя анотация @Ignore, за да пропусне теста.

В този урок ще научите -

  • Какво е JUnit @Ignore тестова анотация
  • Пример за тест на Junit - игнориране
  • Създаване на прост тестов клас, без да се пренебрегва тест
  • Игнорирайте тестов метод, като използвате @Ignore анотация
  • Използване на @ ignore анотация с Condition
  • Игнорирайте всички тестови методи, като използвате анотация @Ignore.

Какво е JUnit @Ignore тестова анотация

Тестовата анотация @Ignore се използва за игнориране на определени тестове или група тестове, за да се пропусне неуспеха на компилацията.

@Ignore анотацията може да се използва в два сценария, както е дадено по-долу:

  1. Ако искате да игнорирате тестов метод, използвайте @Ignore заедно с @Test анотация.
  2. Ако искате да игнорирате всички тестове на клас, използвайте @Ignore анотация на ниво клас.

Можете да посочите причината за деактивиране на тест в незадължителния параметър, предоставен от анотирането @Ignore.

Това ще помогне на други разработчици, работещи върху същия код, да разберат „защо даден тест е деактивиран?“ Когато проблемът с този конкретен тест е решен, можете просто да го активирате, като премахнете анотацията @Ignore .

Пример за тест на Junit - игнориране

Както беше обсъдено в горната дефиниция, можете да използвате анотация @Ignore, за да игнорирате тест или група от теста.

Нека го разберем, като използваме прост пример и в дадени по-долу сценарии:

  1. Създаване на прост тестов клас, без да се пренебрегва тест.
  2. Игнорирайте тестов метод, използвайки @Ignore анотация.
  3. Игнорирайте тестов метод с помощта на анотация @Ignore с подходяща причина.
  4. Игнорирайте всички тестови методи, като използвате @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 анотацията може да се използва в два сценария, както е дадено по-долу:

  1. Ако искате да игнорирате тестов метод, използвайте @Ignore заедно с @Test анотация.
  2. Ако искате да игнорирате всички тестове на клас, използвайте @Ignore анотация на ниво клас.

Също така научихте как да предоставите изявление, за да разберете друг разработчик, защо даден тест е деактивиран.