Учебники

TestNG — Suite Test

Набор тестов — это набор тестовых примеров, предназначенных для тестирования поведения или набора поведений программ. В TestNG мы не можем определить комплект при тестировании исходного кода, но он представлен одним файлом XML, так как комплект является функцией выполнения. Это также позволяет выполнять гибкую настройку тестов . Набор может содержать один или несколько тестов и определяется тегом <suite>.

<suite> — корневой тег вашего testng.xml. Он описывает набор тестов, который, в свою очередь, состоит из нескольких разделов <test>.

В следующей таблице перечислены все допустимые атрибуты, которые принимает <suite>.

Sr.No. Атрибут и описание
1

название

Название этого люкса. Это обязательный атрибут.

2

подробный

Уровень или многословие для этого запуска.

3

параллельно

Должен ли TestNG запускать разные потоки для запуска этого пакета.

4

число потоков

Количество используемых потоков, если включен параллельный режим (в противном случае игнорируется).

5

аннотации

Тип аннотаций, которые вы используете в своих тестах.

6

тайм-аут

Тайм-аут по умолчанию, который будет использоваться во всех методах теста, найденных в этом тесте.

название

Название этого люкса. Это обязательный атрибут.

подробный

Уровень или многословие для этого запуска.

параллельно

Должен ли TestNG запускать разные потоки для запуска этого пакета.

число потоков

Количество используемых потоков, если включен параллельный режим (в противном случае игнорируется).

аннотации

Тип аннотаций, которые вы используете в своих тестах.

тайм-аут

Тайм-аут по умолчанию, который будет использоваться во всех методах теста, найденных в этом тесте.

В этой главе мы покажем вам пример с двумя тестовыми классами, Test1 и Test2, для совместной работы с использованием Test Suite.

Создать класс

Создайте Java-класс для тестирования, скажем, MessageUtil.java в C: \> JUNIT_WORKSPACE .

/*
* This class prints the given message on console.
*/

public class MessageUtil {
   private String message;

   // Constructor
   // @param message to be printed
   public MessageUtil(String message) {
      this.message = message;
   }

   // prints the message
   public String printMessage() {
      System.out.println(message);
      return message;
   }

   // add "Hi!" to the message
   public String salutationMessage() {
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }
}

Создать классы теста

Создайте файл класса Java с именем Test1.java в C: \> TestNG_WORKSPACE .

import org.testng.Assert;
import org.testng.annotations.Test;

public class Test1 {
   String message = "Manisha";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

Создайте файл класса Java с именем Test2.java в C: \> TestNG_WORKSPACE .

import org.testng.Assert;
import org.testng.annotations.Test;

public class Test2 {
   String message = "Manisha";	
   MessageUtil messageUtil = new MessageUtil(message);
	 
   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Manisha";
      Assert.assertEquals(message,messageUtil.salutationMessage());
   }
}

Теперь давайте напишем testng.xml в C: \> TestNG_WORKSPACE , который будет содержать тег <suite> следующим образом:

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name = "Suite1">

   <test name = "exampletest1">
      <classes>
         <class name = "Test1" />
      </classes>
   </test>
  
   <test name = "exampletest2">
      <classes>
         <class name = "Test2" />
      </classes>
   </test>
  
</suite>  	

Suite1 включает в себя exampletest1 и exampletest2 .

Скомпилируйте все классы Java, используя javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java Test1.java Test2.java

Теперь запустите testng.xml, который запустит тестовый набор, определенный в предоставленном классе Test Case.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Проверьте вывод.

Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha

===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
===============================================

Вы также можете проверить папку test-output . В папке Suite1 вы можете увидеть два созданных html-файла, exampletest1.html и exampletest2.html, которые будут выглядеть следующим образом:

Письменные тесты