Автор оригинала: Pankaj Kumar.
Группы тестирования-одна из его очень важных и полезных функций. Мы можем указать группы для методов тестирования, их можно использовать с методами @Before, @After и @Test.
Группы Тестирования
Как только мы определим группы для методов тестирования, мы сможем запускать определенные группы. Мы можем включать группы для выполнения, исключать группы. Мы также можем создать группу групп. Давайте создадим тестовый класс TestNG с несколькими методами и назначим их разным группам.
package com.journaldev.groups;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class TestNGGroupsExample {
@Test(groups = "foo")
public void foo() {
System.out.println("foo");
}
@Test(groups = "bar")
public void bar() {
System.out.println("bar");
}
@Test(groups = { "alpha", "sanity" })
public void alpha() {
System.out.println("alpha");
}
@Test(groups = { "beta", "integration" })
public void beta() {
System.out.println("beta");
}
@BeforeClass(groups = "integration")
public void beforeIntegrationTests() {
System.out.println("Before Running integration test methods");
}
@AfterClass(groups = "integration")
public void afterIntegrationTests() {
System.out.println("Before Running integration test methods");
}
}
Запуск тестовых групп с использованием конфигурации запуска Eclipse TestNG
Когда мы выполняем тестовый класс в Eclipse, он выполняет все группы. Мы можем создать конфигурацию запуска для выполнения определенных групп. Перейдите в раздел Запуск | Конфигурации запуска .
Найдите свой проект, затем установите флажок Группы и нажмите кнопку Обзор. Он покажет вам все группы, определенные в проекте.
Выберите группы для выполнения, и вы увидите конфигурацию, как показано на рисунке ниже.
Нажмите на кнопку “Применить”, чтобы сохранить конфигурацию. Нажмите на кнопку “Выполнить”, чтобы запустить конфигурацию, которая будет выполнять только указанные группы.
Вы должны получить следующий вывод в консоли Eclipse.
[RemoteTestNG] detected TestNG version 6.14.3
bar
foo
PASSED: bar
PASSED: foo
===============================================
GRP-bar,foo
Tests run: 2, Failures: 0, Skips: 0
===============================================
===============================================
TestNG-Examples by groups
Total tests run: 2, Failures: 0, Skips: 0
===============================================
Пример групп пакетов XML TestNG
Мы можем настроить наш набор тестов для запуска определенных групп с помощью элемента groups . Ниже TestNG XML suite будет работать только с методами foo и bar group.
Пример XML-кода TestNG Включает группы исключения
Иногда наши методы будут частью нескольких групп. Если метод является частью как включенных, так и исключенных групп, то он будет исключен из выполнения.
Приведенный выше набор тестов не будет выполнять метод beta () , поскольку одна из его групп находится в списке исключенных групп.
Группы Тестирования Регулярное выражение
Конфигурация групп тестирования поддерживает регулярное выражение. Если мы изменим группы include на include , то он будет выполнять только методы foo() и beta (). Это потому, что они принадлежат к группам, название которых содержит букву “о”.
Группа Тестирования по умолчанию
Если мы хотим, чтобы все наши методы тестового класса входили в определенную группу, мы можем настроить ее на уровне класса.
@Test(groups="default")
public class TestNGGroupsExample {
// test methods
}
Группа тестирования групп
Мы можем определить группу групп в XML-файле TestNG. Тогда мы сможем использовать его в наборе тестов. Обратите внимание, что это можно сделать внутри только на уровне тестирования, а не на уровне пакета.
Давайте рассмотрим краткий пример определения групп в XML-файле TestNG, а затем их использования.
Это все для примера групп тестирования. Они очень полезны при классификации наших тестов и их выполнении для разных уровней проверки.