टेस्टएनजी - टेस्ट लिखना

TestNG में टेस्ट लिखना मूल रूप से निम्नलिखित चरणों को शामिल करता है -

  • अपने परीक्षण का व्यावसायिक तर्क लिखें और अपने कोड में TestNG एनोटेशन डालें।

  • एक testng.xml फ़ाइल में या build.xml में अपने परीक्षण (उदाहरण के लिए वर्ग नाम, आप चलाने के लिए इच्छा, आदि) के बारे में जानकारी जोड़ें।

  • TestNG चलाएं।

यहां, हम POJO वर्ग, व्यावसायिक तर्क वर्ग और एक परीक्षण xml का उपयोग करके TestNG परीक्षण का एक पूरा उदाहरण देखेंगे, जो TestNG द्वारा चलाया जाएगा।

सृजन करना EmployeeDetails.java में C:\>TestNG_WORKSPACE, जो एक POJO वर्ग है।

public class EmployeeDetails {

   private String name;
   private double monthlySalary;
   private int age;
   
   // @return the name

   public String getName() {
      return name;
   }
   
   // @param name the name to set
   
   public void setName(String name) {
      this.name = name;
   }
   
   // @return the monthlySalary

   public double getMonthlySalary() {
      return monthlySalary;
   }
   
   // @param monthlySalary the monthlySalary to set
   
   public void setMonthlySalary(double monthlySalary) {
      this.monthlySalary = monthlySalary;
   }
   
   // @return the age
 
   public int getAge() {
      return age;
   }
   
   // @param age the age to set
 
   public void setAge(int age) {
      this.age = age;
   }
}

EmployeeDetails वर्ग का उपयोग किया जाता है -

  • कर्मचारी के नाम का मूल्य प्राप्त / निर्धारित करना।
  • कर्मचारी के मासिक वेतन का मूल्य प्राप्त / निर्धारित करना।
  • कर्मचारी की आयु का मान प्राप्त करें / निर्धारित करें।

बनाओ EmpBusinessLogic.java में C:\>TestNG_WORKSPACE, जिसमें व्यावसायिक तर्क शामिल हैं।

public class EmpBusinessLogic {

   // Calculate the yearly salary of employee
   public double calculateYearlySalary(EmployeeDetails employeeDetails) {
      double yearlySalary = 0;
      yearlySalary = employeeDetails.getMonthlySalary() * 12;
      return yearlySalary;
   }
	
   // Calculate the appraisal amount of employee
   public double calculateAppraisal(EmployeeDetails employeeDetails) {
   
      double appraisal = 0;
      
      if(employeeDetails.getMonthlySalary() < 10000) {
         appraisal = 500;
         
      } else {
         appraisal = 1000;
      }
      
      return appraisal;
   }
}

EmpBusinessLogic वर्ग की गणना के लिए प्रयोग किया जाता है -

  • कर्मचारी का वार्षिक वेतन।
  • कर्मचारी की मूल्यांकन राशि।

अब, आइए TestNG क्लास बनाएं TestEmployeeDetails.javaC: \> TestNG_WORKSPACE पर। TestNG क्लास एक जावा क्लास है जिसमें कम से कम एक TestNG एनोटेशन होता है। इस वर्ग में परीक्षण किए जाने वाले परीक्षण मामले हैं। TestNG परीक्षण को @BeforeXXX और @AfterXXX एनोटेशन द्वारा कॉन्फ़िगर किया जा सकता है (हम इसे अध्याय TestNG - निष्पादन प्रक्रिया में देखेंगे ), जो एक निश्चित बिंदु से पहले और बाद में कुछ जावा तर्क करने की अनुमति देता है।

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

public class TestEmployeeDetails {
   EmpBusinessLogic empBusinessLogic = new EmpBusinessLogic();
   EmployeeDetails employee = new EmployeeDetails();

   @Test
   public void testCalculateAppriasal() {
   
      employee.setName("Rajeev");
      employee.setAge(25);
      employee.setMonthlySalary(8000);
      
      double appraisal = empBusinessLogic.calculateAppraisal(employee);
      Assert.assertEquals(500, appraisal, 0.0, "500");
   }

   // Test to check yearly salary
   @Test
   public void testCalculateYearlySalary() {
   
      employee.setName("Rajeev");
      employee.setAge(25);
      employee.setMonthlySalary(8000);
      
      double salary = empBusinessLogic.calculateYearlySalary(employee);
      Assert.assertEquals(96000, salary, 0.0, "8000");
   }
}

TestEmployeeDetails वर्ग के तरीकों के परीक्षण के लिए प्रयोग किया जाता है EmpBusinessLogicकक्षा। यह निम्नलिखित है -

  • कर्मचारी के वार्षिक वेतन का परीक्षण करें।

  • कर्मचारी की मूल्यांकन राशि का परीक्षण करता है।

इससे पहले कि आप परीक्षण चला सकें, आपको एक विशेष XML फ़ाइल का उपयोग करके TestNG को कॉन्फ़िगर करना होगा, जिसे पारंपरिक रूप से 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 = "TestEmployeeDetails"/>
      </classes>
   </test>
</suite>

उपरोक्त फाइल का विवरण इस प्रकार है -

  • एक सुइट को एक एक्सएमएल फ़ाइल द्वारा दर्शाया गया है। इसमें एक या एक से अधिक परीक्षण हो सकते हैं और इसे <सूट> टैग द्वारा परिभाषित किया गया है।

  • टैग <परीक्षण> एक परीक्षण का प्रतिनिधित्व करता है और इसमें एक या अधिक TestNG कक्षाएं हो सकती हैं।

  • <class> टैग एक TestNG वर्ग का प्रतिनिधित्व करता है। यह एक जावा वर्ग है जिसमें कम से कम एक TestNG एनोटेशन होता है। इसमें एक या एक से अधिक परीक्षण विधियां हो सकती हैं।

जावैक का उपयोग करके टेस्ट केस कक्षाओं को संकलित करें।

C:\TestNG_WORKSPACE>javac EmployeeDetails.java EmpBusinessLogic.java TestEmployeeDetails.java

अब निम्नलिखित कमांड के साथ TestNG -

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

यदि सभी सही ढंग से किया गया है, तो आपको अपने परीक्षणों के परिणामों को कंसोल में देखना चाहिए। इसके अलावा, TestNG नामक एक फ़ोल्डर में एक बहुत अच्छी HTML रिपोर्ट बनाता हैtest-outputयह स्वचालित रूप से वर्तमान निर्देशिका में बनाया गया है। यदि आप इसे खोलते हैं और index.html लोड करते हैं, तो आपको नीचे दी गई छवि के समान पृष्ठ दिखाई देगा -