TestNG-スイートテスト

A test suiteソフトウェアプログラムの動作または動作のセットをテストすることを目的としたテストケースのコレクションです。TestNGでは、テストソースコードでスイートを定義することはできませんが、スイートは実行の機能であるため、1つのXMLファイルで表されます。また、テストの柔軟な構成を実行することもできます。スイートには1つ以上のテストを含めることができ、<suite>タグで定義されます。

<suite>は、testng.xmlのルートタグです。テストスイートについて説明します。テストスイートは、いくつかの<test>セクションで構成されています。

次の表に、<suite>が受け入れるすべての有効な属性を示します。

シニア番号 属性と説明
1

name

このスイートの名前。それはmandatory 属性。

2

verbose

この実行のレベルまたは冗長性。

3

parallel

TestNGがこのスイートを実行するために異なるスレッドを実行する必要があるかどうか。

4

thread-count

並列モードが有効になっている場合に使用するスレッドの数(それ以外の場合は無視されます)。

5

annotations

テストで使用しているアノテーションのタイプ。

6

time-out

このテストで見つかったすべてのテストメソッドで使用されるデフォルトのタイムアウト。

この章では、TestSuiteを使用して一緒に実行する2つのテストクラスTest1とTest2の例を示します。

クラスを作成する

テストするJavaクラスを作成します。たとえば、 MessageUtil.javaC:\>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.javaC:\>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.javaC:\>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

javacを使用してすべてのJavaクラスをコンパイルします。

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

次に、testng.xmlを実行します。これにより、提供されたテストケースクラスで定義されたテストケースが実行されます。

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フォルダーの下に、exampletest1.htmlとexampletest2.htmlの2つのhtmlファイルが作成されています。これらは次のようになります。