Въведение в JUnit Annotations

JUnit е една от най-мощните рамки за тестване, базирана на Java и с отворен код, достъпна безплатно на пазара. Той помага за лесно и бързо създаване на тестови случаи и изпълнение на тестови случаи според изискванията с помощта на пояснения. Анотациите предоставят допълнителна информация за класовете и методите, които се използват в Java кода. Той помага при извършване на тестване на всеки компонент, било то методи, класове, пакети и променливи. Обикновено се използва за единично тестване на приложения. Последната надстройка на JUnit е JUnit5. Той поддържа уеб драйвера Selenium за тестване за автоматизация на уеб и мобилни приложения. орг. Junit е пакетът, който съдържа всички интерфейси и класове за тестване чрез JUnit.

JUnit Анотация с Пример

По-долу са дадени някои от поясненията на JUnit:

1. @ Преди

Има сценарии, когато някои тестови случаи или тестови данни трябва да бъдат създадени преди изпълнението на реалния тестов случай. В този случай в снимката влязоха пояснения @ @ Преди. Коментирането на всеки публичен метод с тази пояснение позволява на кода / метода да се изпълнява преди всеки действителен @test метод. В случай на унаследяване първо се извикват методите @ преди свръхкласа и след това методите @before от текущия клас.

2. @След

Точно обратното на @Before анотация. Използва се в случаите, когато трябва да се извършват някои действия като освобождаване на ресурси, почистване на паметта, отпечатване на каквото и да е на конзолата след изпълнението на метода @test (след изпълнението на всеки тестов случай). Има един важен момент, който трябва да се отбележи при пояснението @After, че той ще се изпълни дори в случаите, когато методите @test или @before изхвърлят изключение. В случай на подклас и свръхклас, методът @after на клас подклас / текущ се изпълнява преди метода @after на надклас.

3. @BeforeClass

Тази пояснителна бележка се използва в сценариите, когато трябва да се извършат някои действия преди изпълнението на всеки тестов случай на определен клас, като например създаване на връзка с базата данни, извършване на запис в база данни, запис в регистрационните файлове и т.н. Когато @BeforeClass анотация се използва преди всеки метод, който се изпълнява преди всеки метод за изпитване в клас. Работата му е подобна на разликата в анотацията @Before е, че @Before изпълнява метода преди изпълнението на всеки метод @test, докато @BeforeClass изпълнява само веднъж, т.е. преди изпълнението на който и да е метод на @test в клас.

4. @AfterClass

Всички ресурси, разпределени в метода @BeforeClass, трябва да бъдат освободени след изпълнението на всички методи @test от текущия клас. Това разпределение на ресурси или всяка важна задача, която трябва да се извърши след изпълнението на целия клас, се извършва по метода @AfterClass. Казано по-просто, методът @AfterClass работи след като бъде изпълнен методът @test от текущия клас. Изпълнява се само веднъж. Методите @AfterClass се изпълняват задължително, дори ако методите @BeforeClass хвърлят изключение.

Подобно на метода @After, работата на метода @AfterClass е подобна, с изключение на факта, че методът @After се изпълнява след всеки метод на @test от клас, докато методът @AfterClass се изпълнява веднъж след изпълнение на всички методи на @test от клас.

5. @Test

Това пояснение уточнява, че публичният метод под това пояснение е част от основния тестов случай, който трябва да бъде изпълнен. Методът под @test определя тестовия случай като преминал или неуспешен в зависимост от това дали има някакво изключение / грешка при неговото изпълнение.

Може да се използва и по 2 начина:

  • @Test (timeout = 500): Той приема параметъра като timeout, който приема стойностите в милисекунди. Той счита тестовия случай за неуспешен, когато отнема повече време от очакваното време за изпълнение и преминава, когато се изпълнява успешно в рамките на определения срок.
  • @Test (очаквано = Exception.class): Има ситуации, когато искаме някои методи да хвърлят конкретно изключение. Тестовият случай се проваля, ако методът не хвърля някакво изключение или гореспоменатото изключение.

6. @ Игнорирай

Има сценарии, когато искаме да игнорираме няколко тестови случая и не искаме да ги стартираме. @Ignore помага за същото. Методите под поясненията @Ignore не се изпълняват и се игнорират по време на изпълнението на кода. Дори в отчетите, генерирани от TestNG показва броя на тестовите случаи, които се игнорират, и броя на преминатите тестови случаи.

пример

Нека вземем пример с JUnit Annotations

package demo;
import org.junit.*;
public class JUnitAnnotationTest (
// Run once, before any @test method in the class are executed
@BeforeClass
public static void bClass() (
System.out.println("BeforeClass method is called”);
)
// Run once after all the @test methods of the class are executed
@AfterClass
public static void aClass() (
System.out.println("AfterClass method is called");
)
// Run before every @test method of a class is executed
@Before
public void bMethod() (
System.out.println("before method is called");
)
// Run after every @test method of class is executed
@After
public void aMethod() (
System.out.println("after method is called");
)
// Test method which has actual test case
@Test
public void testMethod() (
System.out.println("Test method is called");
)
)

изход:

Предимства на JUnit Annotations

По-долу са дадени някои от предимствата на поясненията на JUnit:

  1. JUnit предоставя лесен начин за изпълнение на тестовите случаи по специфичен начин в съответствие с изискванията на потребителя.
  2. Лесно е да се изпълняват множество тестови случаи паралелно с помощта на JUnit, като ги комбинирате в тестов пакет.
  3. Анотациите на JUnit, използвани за автоматизиране на тестови случаи в Selenium, предоставят много подробен и интерактивен графичен отчет на потребителя, който също е много удобен за потребителя.
  4. JUnit позволява да се предават параметрите в метода по много прост начин.
  5. Анотацията на JUnit помага да се извърши чисто кодиране, което е много лесно да се разбере както на тестери, така и на програмисти.

заключение

Горното обяснение ясно описва значението на рамката JUnit и реда, в който се извикват различни пояснения на JUnit. Много е важно да разберете различните пояснения, преди да ги използвате в програма, така че да не създава проблем при контрола на потока на изпълнение.

Препоръчителни статии

Това е ръководство за JUnit Annotations. Тук обсъждаме въвеждането и поясненията на JUnit с пример, който включва @ Преди, @ След, @ Тест и @Ignore и т.н. Можете също да прегледате и другите ни предложени статии, за да научите повече -

  1. Тестване на единица
  2. Тестване на бяла кутия
  3. Селена архитектура
  4. Тест сбруя