Вступ до анотацій 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:
- JUnit надає простий спосіб виконання тестових випадків певним чином відповідно до вимог користувача.
- Виконувати кілька тестових випадків можна легко паралельно за допомогою JUnit, комбінуючи їх у тестовий набір.
- Анотації JUnit, які використовуються для автоматизації тестових випадків у Selenium, надають дуже детальний та інтерактивний графічний звіт для користувача, який також дуже зручний для користувачів.
- JUnit дозволяє передавати параметри методу дуже простим способом.
- Анотація JUnit допомагає виконувати чисте кодування, що дуже легко зрозуміти і тестерам, і програмістам.
Висновок
Наведене вище пояснення чітко описує важливість рамки JUnit та порядок виклику різних анотацій JUnit. Дуже важливо розібратися в різних анотаціях, перш ніж використовувати їх у програмі, щоб це не створювало жодних проблем при контролі потоку виконання.
Рекомендовані статті
Це посібник з анотацій JUnit. Тут ми обговорюємо вступ та анотації JUnit із прикладом, який включає @ раніше, @ після, @ тест і @Ignore тощо. Ви також можете ознайомитись з іншими запропонованими нами статтями, щоб дізнатися більше -
- Тестування одиниць
- Тестування білого ящика
- Селенова архітектура
- Тестовий джгут