ग्रूवी - यूनिट परीक्षण
ऑब्जेक्ट-ओरिएंटेड सिस्टम की मूलभूत इकाई वर्ग है। इसलिए इकाई परीक्षण में एक वर्ग के भीतर टेस्टिग होता है। लिया गया दृष्टिकोण परीक्षण के तहत कक्षा की एक वस्तु बनाने के लिए है और यह जांचने के लिए कि चयनित विधियों को उम्मीद के अनुसार निष्पादित करें। प्रत्येक विधि का परीक्षण नहीं किया जा सकता है, क्योंकि यह हमेशा प्रत्येक और हर चीज का परीक्षण करने के लिए व्यावहारिक नहीं है। लेकिन कुंजी और महत्वपूर्ण तरीकों के लिए यूनिट परीक्षण किया जाना चाहिए।
JUnit एक ओपन-सोर्स टेस्टिंग फ्रेमवर्क है जो जावा कोड की स्वचालित इकाई परीक्षण के लिए स्वीकृत उद्योग मानक है। सौभाग्य से, ग्रोवी कक्षाओं के परीक्षण के लिए जेयूनेट ढांचे का आसानी से उपयोग किया जा सकता है। सभी आवश्यक है कि GroovyTestCase वर्ग का विस्तार करना है जो मानक Groovy वातावरण का हिस्सा है। ग्रूवी टेस्ट केस क्लास जूनिट टेस्ट केस पर आधारित है।
सिंपल जूनिट टेस्ट केस लिखना
मान लें कि हमारे पास एप्लिकेशन क्लास फ़ाइल में निम्न वर्ग परिभाषित है -
class Example {
static void main(String[] args) {
Student mst = new Student();
mst.name = "Joe";
mst.ID = 1;
println(mst.Display())
}
}
public class Student {
String name;
int ID;
String Display() {
return name +ID;
}
}
उपरोक्त कार्यक्रम का आउटपुट नीचे दिया गया है।
Joe1
और अब मान लीजिए कि हम स्टूडेंट क्लास के लिए एक टेस्ट केस लिखना चाहते थे। एक विशिष्ट परीक्षण का मामला नीचे एक जैसा दिखेगा। निम्नलिखित कोडों के बारे में निम्नलिखित बातों पर ध्यान देने की आवश्यकता है -
- टेस्ट केस क्लास ग्रूवीटेस्ट क्लास को बढ़ाता है
- हम यह सुनिश्चित करने के लिए मुखर कथन का उपयोग कर रहे हैं कि प्रदर्शन विधि सही स्ट्रिंग लौटाती है।
class StudentTest extends GroovyTestCase {
void testDisplay() {
def stud = new Student(name : 'Joe', ID : '1')
def expected = 'Joe1'
assertToString(stud.Display(), expected)
}
}
ग्रूवी टेस्ट सूट
आम तौर पर जैसे-जैसे यूनिट परीक्षणों की संख्या बढ़ती जाती है, वैसे-वैसे सभी परीक्षण मामलों को एक-एक करके क्रियान्वित करते रहना मुश्किल हो जाता है। इसलिए ग्रूवी एक परीक्षण सूट बनाने के लिए एक सुविधा प्रदान करता है जो सभी परीक्षण मामलों को एक तार्किक इकाई में बदल सकता है। निम्न कोडनिपेट दिखाता है कि यह कैसे प्राप्त किया जा सकता है। कोड के बारे में निम्नलिखित बातों पर ध्यान दिया जाना चाहिए -
GroovyTestSuite का उपयोग सभी परीक्षण मामलों को एक में करने के लिए किया जाता है।
निम्नलिखित उदाहरण में, हम मान रहे हैं कि हमारे पास दो परीक्षण केस फाइलें हैं, जिन्हें एक कहा जाता है StudentTest और दूसरा है EmployeeTest जिसमें सभी आवश्यक परीक्षण शामिल हैं।
import groovy.util.GroovyTestSuite
import junit.framework.Test
import junit.textui.TestRunner
class AllTests {
static Test suite() {
def allTests = new GroovyTestSuite()
allTests.addTestSuite(StudentTest.class)
allTests.addTestSuite(EmployeeTest.class)
return allTests
}
}
TestRunner.run(AllTests.suite())