TestNG - अपवाद परीक्षण

TestNG कोड के अपवाद हैंडलिंग को ट्रेस करने का एक विकल्प प्रदान करता है। आप परीक्षण कर सकते हैं कि कोई कोड वांछित अपवाद फेंकता है या नहीं। यहां हीexpectedExceptionsपैरामीटर का उपयोग @Test एनोटेशन के साथ किया जाता है। अब, चलो देखते हैं@Test(expectedExceptions) कार्रवाई में।

एक क्लास बनाएँ

परीक्षण करने के लिए एक जावा वर्ग बनाएँ, कहते हैं, MessageUtil.java में C:\> TestNG_WORKSPACE। PrintMessage () विधि के अंदर एक त्रुटि स्थिति जोड़ें।

/*
* 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 void printMessage() {
      System.out.println(message);
      int a =0;
      int b = 1/a;
   }   

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

टेस्ट केस क्लास बनाएं

  • एक जावा टेस्ट क्लास बनाएं, कहें, ExpectedExceptionTest.java

  • TestPrintMessage () परीक्षण मामले में एक अपेक्षित अपवाद अंकगणित अपवाद जोड़ें।

नाम से एक जावा वर्ग फ़ाइल बनाएँ ExpectedExceptionTest.java में C:\> TestNG_WORKSPACE

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

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

टेस्ट रनर बनाएं

में testng.xml बनाएँ C:\>TestNG_WORKSPACE परीक्षण मामले को निष्पादित करने के लिए।

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

<suite name = "Suite1">
   <test name = "test1">
      <classes>
         <class name = "ExpectedExceptionTest" />
      </classes>
   </test>
</suite>

मैसेज यूटिल का संकलन करें, टेस्ट केस क्लासेस जेवाक का उपयोग करते हुए।

C:\TestNG_WORKSPACE>javac MessageUtil.java TestJunit.java

अब, टेस्ट रनर चलाएं, जो प्रदान किए गए टेस्ट केस क्लास में परिभाषित टेस्ट केस चलाएगा।

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

आउटपुट सत्यापित करें। testPrintMessage () परीक्षण मामला पारित किया जाएगा।

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

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