Visual Basic .NET Language
VB.NET में इकाई परीक्षण
खोज…
टिप्पणियों
यह इकाई परीक्षण प्रक्रिया के लिए सबसे सरल लेकिन वर्णनात्मक उदाहरण है। विभिन्न डेटा प्रकारों के खिलाफ जांच करने के लिए और अधिक तरीकों को जोड़ने के लिए स्वतंत्र महसूस करें।
कर गणना के लिए इकाई परीक्षण
यह उदाहरण दो स्तंभों में विभाजित है
- SalaryCalacle Class : कर कटौती के बाद शुद्ध वेतन की गणना
- SalaryCalacleTests क्लास : शुद्ध वेतन की गणना करने वाली विधि के परीक्षण के लिए
चरण 1: क्लास लाइब्रेरी बनाएं, इसे WagesLibrary या किसी भी उपयुक्त नाम का नाम दें। तब वर्ग का नाम बदलकर SalaryCalacle
'' '' 'वेतन गणना के लिए वर्ग' '' सार्वजनिक वर्ग वेतनमान
''' <summary>
''' Employee Salary
''' </summary>
Public Shared Salary As Double
''' <summary>
''' Tax fraction (0-1)
''' </summary>
Public Shared Tax As Double
''' <summary>
''' Function to calculate Net Salary
''' </summary>
''' <returns></returns>
Public Shared Function CalculateNetSalary()
Return Salary - Salary * Tax
End Function
End Class
चरण 2 : यूनिट टेस्ट प्रोजेक्ट बनाएं। बनाई गई क्लास लाइब्रेरी का संदर्भ जोड़ें और नीचे दिए गए कोड को पेस्ट करें
Imports WagesLibrary 'Class library you want to test
''' <summary>
''' Test class for testing SalaryCalculation
''' </summary>
<TestClass()> Public Class SalaryCalculationTests
''' <summary>
''' Test case for the method CalculateNetSalary
''' </summary>
<TestMethod()> Public Sub CalculateNetSalaryTest()
SalaryCalculation.Salary = 100
SalaryCalculation.Tax = 0.1
Assert.AreEqual(90.0, SalaryCalculation.CalculateNetSalary(), 0.1)
End Sub
End Class
Assert.Equal
वास्तविक परिकलित मान के विरुद्ध अपेक्षित मान की जाँच करता है। मूल्य 0.1
सहिष्णुता या उम्मीद और वास्तविक परिणाम के बीच अंतर अनुमति देने के लिए प्रयोग किया जाता है।
चरण 3: परिणाम देखने के लिए विधि का परीक्षण चलाएँ
कर्मचारी वर्ग का परीक्षण किया गया और उसके पास से व्युत्पन्न गुण हैं
इस उदाहरण में यूनिट परीक्षण में अधिक परीक्षण उपलब्ध हैं।
कर्मचारी वर्ग (कक्षा पुस्तकालय)
''' <summary>
''' Employee Class
''' </summary>
Public Class Employee
''' <summary>
''' First name of employee
''' </summary>
Public Property FirstName As String = ""
''' <summary>
''' Last name of employee
''' </summary>
Public Property LastName As String = ""
''' <summary>
''' Full name of employee
''' </summary>
Public ReadOnly Property FullName As String = ""
''' <summary>
''' Employee's age
''' </summary>
Public Property Age As Byte
''' <summary>
''' Instantiate new instance of employee
''' </summary>
''' <param name="firstName">Employee first name</param>
''' <param name="lastName">Employee last name</param>
Public Sub New(firstName As String, lastName As String, dateofbirth As Date)
Me.FirstName = firstName
Me.LastName = lastName
FullName = Me.FirstName + " " + Me.LastName
Age = Convert.ToByte(Date.Now.Year - dateofbirth.Year)
End Sub
End Class
EmployeeTest.vb (टेस्ट प्रोजेक्ट)
Imports HumanResources
<TestClass()>
Public Class EmployeeTests
ReadOnly _person1 As New Employee("Waleed", "El-Badry", New DateTime(1980, 8, 22))
ReadOnly _person2 As New Employee("Waleed", "El-Badry", New DateTime(1980, 8, 22))
<TestMethod>
Public Sub TestFirstName()
Assert.AreEqual("Waleed", _person1.FirstName, "First Name Mismatch")
End Sub
<TestMethod>
Public Sub TestLastName()
Assert.AreNotEqual("", _person1.LastName, "No Last Name Inserted!")
End Sub
<TestMethod>
Public Sub TestFullName()
Assert.AreEqual("Waleed El-Badry", _person1.FullName, "Error in concatination of names")
End Sub
<TestMethod>
Public Sub TestAge()
Assert.Fail("Age is not even tested !") 'Force test to fail !
Assert.AreEqual(Convert.ToByte(36), _person1.Age)
End Sub
<TestMethod>
Public Sub TestObjectReference()
Assert.AreSame(_person1.FullName, _person2.FullName, "Different objects with same data")
End Sub
End Class
परीक्षण चलाने के बाद परिणाम