Структура тестирования TestNG — Введение


Что такое структура тестирования?

Структура тестирования — это набор рекомендаций или правил, используемых для создания и проектирования тестовых случаев. Рамка состоит из комбинации практик и инструментов, которые разработаны, чтобы помочь специалистам QA тестировать более эффективно.


Популярные доступные варианты:

  1. JUnit
  2. NUnit
  3. TestNG

Почему TestNG?

TestNG — это система тестирования, созданная на основе JUnit и NUnit, но с некоторыми новыми функциями, которые делают ее более мощной и простой в использовании, такими как:

  • Аннотации.
  • Запускайте свои тесты в произвольно больших пулах потоков с различными политиками (все методы в своем потоке, один поток на класс теста и т.д…).
  • Проверяйте, что ваш код безопасен для многопоточности.
  • Гибкая конфигурация тестов.
  • Поддержка тестирования на основе данных (с @DataProvider).
  • Поддержка параметров.
  • Мощная модель выполнения (больше нет TestSuite).
  • Поддерживается множеством инструментов и плагинов (Eclipse, IDEA, Maven и т.д…).
  • Встроенный BeanShell для большей гибкости.
  • Функции JDK по умолчанию для времени выполнения и протоколирования (без зависимостей).
  • Зависимые методы для тестирования сервера приложений.TestNG разработан для охвата всех категорий тестов: модульных, функциональных, сквозных, интеграционных и т.д….

Аннотации в TestNG


Утверждения

Утверждения в TestNG — это способ проверки соответствия или несоответствия ожидаемого и фактического результата.

  • Ожидаемый результат: ожидаемый результат в определенный момент времени при тестировании приложения.
  • Фактический результат: фактический результат в определенный момент времени во время тестирования приложения.

пример:

Assert.assertEquals(actualOutcome,expectedOutcome);
Войти в полноэкранный режим Выход из полноэкранного режима

Типы утверждений

Жесткое утверждение: Жесткие утверждения — это утверждения, которые останавливают выполнение теста, когда утверждение не выполняется, и последующие утверждения, таким образом, не проверяются.
Мягкие утверждения: При мягких утверждениях последующие утверждения продолжают выполняться, даже если проверка одного утверждения не прошла, т.е. выполнение теста не останавливается.

Пример:

# Hard Assert
Assert.assertEquals(actualResult,expectedResult);
# Soft Assert
SoftAssert softassert = new SoftAssert();
softassert.assertEquals(actualResult, expecetedResult);
softassert.assertAll();
Вход в полноэкранный режим Выход из полноэкранного режима

Пример использования

pom.xml

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.5</version>
</dependency>
Войти в полноэкранный режим Выйти из полноэкранного режима

код

только аннотированные методы @test вызываются test должен содержать тестовые скрипты, в то время как методы @BeforeMethod/@AfterMethod должны использоваться для настройки предварительных условий & очистки для каждого теста.

import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class Runner {
    @BeforeTest
    public void beforeTest(){
        System.out.println("method to be executed before test");
    }

    @Test
    public void test(){
        System.out.println("test method");
    }

    @AfterTest
    public void afterTest(){
        System.out.println("method to be executed after test");
    }
}

Вход в полноэкранный режим Выход из полноэкранного режима

выход:

method to be executed before test
test method
method to be executed after test
===============================================
Default Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
Вход в полноэкранный режим Выход из полноэкранного режима

Несколько полезных URL-адресов:

Веб-страница TestNG
учебник по Javatpoint

Оцените статью
Procodings.ru
Добавить комментарий