Вступ до анотацій JUnit

JUnit - одна з найпотужніших систем тестування на основі Java та з відкритим кодом, доступна безкоштовно на ринку. Це допомагає легко та швидко створити тестовий випадок та виконати тестовий випадок відповідно до вимог за допомогою анотацій. Анотації в основному надають додаткову інформацію про класи та методи, які використовуються в коді Java. Це допомагає проводити тестування кожного компонента, будь то методи, класи, пакети та змінні. Він зазвичай використовується для тестування одиниць програм. Останнє оновлення JUnit - JUnit5. Він підтримує веб-драйвер Selenium для тестування автоматизації веб-та мобільних додатків. орг. Junit - це пакет, який містить усі інтерфейси та класи для тестування через JUnit.

JUnit Анотація з прикладом

Нижче наведено деякі примітки JUnit:

1. @Перед цим

Існують сценарії, коли перед виконанням фактичного тестового випадку потрібно створити деякі тестові випадки або тестові дані. У такому випадку на знімку потрапили анотації @Before. Анотування будь-якого загальнодоступного методу за допомогою цієї примітки дозволяє коду / методу запускатися перед кожним фактичним методом @test. У разі успадкування спочатку називаються @ -попередній метод надкласу, а потім методами @ перед поточним класом.

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 визначає тестовий випадок як пройдений чи невдалий залежно від того, чи виникає якийсь виняток / помилка при його виконанні.

Також його можна використовувати двома способами:

  • @Test (timeout = 500): параметр приймає за час очікування, який приймає значення в мілісекундах. Він вважає тестовий випадок невдалим, коли на виконання потрібно більше часу, ніж очікується, і проходить, коли він успішно виконується протягом визначеного строку.
  • @Test (очікувано = Exception.class): бувають ситуації, коли ми хочемо, щоб деякі методи кидали конкретний виняток. Тестовий випадок виходить з ладу, якщо метод не кидає жодного винятку або вищезгаданого винятку.

6. @ Ігноруй

Існують сценарії, коли ми хочемо ігнорувати кілька тестових випадків і не хочемо їх запускати. @Ignore допомагає для того ж. Методи під анотаціями @Ignore не виконуються і ігноруються під час виконання коду. Навіть у звітах, згенерованих TestNG, відображається кількість тестових випадків, які ігноруються, та кількість пройдених тестових випадків.

Приклад

Візьмемо для прикладу Анотації JUnit

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

Нижче наведено деякі переваги анотацій JUnit:

  1. JUnit надає простий спосіб виконання тестових випадків певним чином відповідно до вимог користувача.
  2. Виконувати кілька тестових випадків можна легко паралельно за допомогою JUnit, комбінуючи їх у тестовий набір.
  3. Анотації JUnit, які використовуються для автоматизації тестових випадків у Selenium, надають дуже детальний та інтерактивний графічний звіт для користувача, який також дуже зручний для користувачів.
  4. JUnit дозволяє передавати параметри методу дуже простим способом.
  5. Анотація JUnit допомагає виконувати чисте кодування, що дуже легко зрозуміти і тестерам, і програмістам.

Висновок

Наведене вище пояснення чітко описує важливість рамки JUnit та порядок виклику різних анотацій JUnit. Дуже важливо розібратися в різних анотаціях, перш ніж використовувати їх у програмі, щоб це не створювало жодних проблем при контролі потоку виконання.

Рекомендовані статті

Це посібник з анотацій JUnit. Тут ми обговорюємо вступ та анотації JUnit із прикладом, який включає @ раніше, @ після, @ тест і @Ignore тощо. Ви також можете ознайомитись з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Тестування одиниць
  2. Тестування білого ящика
  3. Селенова архітектура
  4. Тестовий джгут