Введение в аннотации JUnit

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

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

Ниже приведены некоторые аннотации JUnit:

1. @ Перед

Существуют сценарии, когда некоторые тестовые случаи или тестовые данные должны быть созданы до выполнения реального тестового примера. В этом случае на фото появились аннотации @Before. Аннотирование любого открытого метода этой аннотацией позволяет коду / методу запускаться перед каждым фактическим методом @test. В случае наследования сначала вызываются методы @before суперкласса, а затем методы @before текущего класса.

2. @After

Это как раз противоположность аннотации @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 с примером, который включает в себя @ Before, @ After, @ Test, @Ignore и т. Д. Вы также можете просмотреть другие предлагаемые нами статьи, чтобы узнать больше -

  1. Модульное тестирование
  2. Тестирование белого ящика
  3. Селен Архитектура
  4. Test Harness