एक JUnit रिपोर्ट को देखें। JUnit पहले से ही पैकेज द्वारा आयोजित किया जाता है। प्रत्येक पैकेज में TestSuite कक्षाएं होती हैं (या हो सकती हैं), जिनमें से प्रत्येक में कई TestCases चलते हैं। प्रत्येक TestCase में प्रपत्र के कई परीक्षण विधियाँ हो सकती हैं public void test*()
, जिनमें से प्रत्येक वास्तव में TestCase वर्ग का एक उदाहरण बन जाएगा जिससे वे संबंधित हैं। प्रत्येक परीक्षण विधि (TestCase उदाहरण) में एक नाम और एक पास / असफल मानदंड है।
मेरे प्रबंधन को व्यक्तिगत टेस्टस्टेप आइटम की अवधारणा की आवश्यकता है , जिनमें से प्रत्येक अपने स्वयं के पास / असफल मानदंडों की रिपोर्ट करता है। किसी भी परीक्षण कदम की विफलता बाद के परीक्षण चरणों के निष्पादन को रोकना नहीं चाहिए।
अतीत में, मेरी स्थिति में परीक्षण डेवलपर्स ने परीक्षण के तहत TestCase कक्षाओं का आयोजन किया, जो परीक्षण के तहत उत्पाद के भाग (एस) के अनुरूप हैं, प्रत्येक परीक्षण के लिए एक TestCase वर्ग बनाया, और प्रत्येक परीक्षण विधि को परीक्षण में एक अलग "चरण" बनाया, JUnit आउटपुट में अपने स्वयं के पास / असफल मानदंडों के साथ पूरा करें। प्रत्येक TestCase एक स्टैंडअलोन "परीक्षण" है, लेकिन व्यक्तिगत तरीके, या TestCase के भीतर "चरण" का परीक्षण, एक विशिष्ट क्रम में होना चाहिए।
TestCase विधियाँ TestCase के चरण थे, और परीक्षण डिजाइनरों को प्रति परीक्षण चरण में एक अलग पास / असफल मानदंड मिला। अब परीक्षण के कदम उछल गए हैं, और परीक्षण (निश्चित रूप से) विफल हो गए हैं।
उदाहरण के लिए:
Class testStateChanges extends TestCase
public void testCreateObjectPlacesTheObjectInStateA()
public void testTransitionToStateBAndValidateStateB()
public void testTransitionToStateCAndValidateStateC()
public void testTryToDeleteObjectinStateCAndValidateObjectStillExists()
public void testTransitionToStateAAndValidateStateA()
public void testDeleteObjectInStateAAndObjectDoesNotExist()
public void cleanupIfAnythingWentWrong()
प्रत्येक परीक्षण विधि का दावा है और अपनी अलग पास / असफल मानदंडों की रिपोर्ट करता है। JUnit सारांश रिपोर्ट में प्रत्येक "चरण" के पास / असफल मानदंड की ग्रैन्युलैरिटी को खो देने के लिए इसे "एक बड़ी परीक्षा विधि" में बदलना। ... और वह मेरे प्रबंधकों को परेशान करता है। वे वर्तमान में एक और विकल्प की मांग कर रहे हैं।
क्या कोई समझा सकता है कि स्क्रैम्ब्ल्ड टेस्ट मेथड ऑर्डर के साथ एक JUnit प्रत्येक क्रमिक परीक्षण चरण के अलग-अलग पास / असफल मानदंड का समर्थन करेगा, जैसा कि ऊपर और मेरे प्रबंधन द्वारा आवश्यक है?
प्रलेखन के बावजूद, मैं इसे JUnit ढांचे में एक गंभीर प्रतिगमन के रूप में देखता हूं जो बहुत सारे परीक्षण डेवलपर्स के लिए जीवन को मुश्किल बना रहा है।