टेस्टएनजी को यह जांचने की संभावना क्यों है कि कई अपवादों में से एक को फेंक दिया गया है? जहां तक मुझे पता है, जुनीट केवल एक अपेक्षित अपवाद का समर्थन करता है। निम्नलिखित TestNG डमी उदाहरण हैं, जहां दोनों परीक्षणों पारित करेंगे पर विचार करें:टेस्टएनजी कई अपेक्षित अपवादों की अनुमति क्यों देता है?
@Test(expectedExceptions = { NullPointerException.class, IllegalArgumentException.class })
public void throwsNullPointer() {
throw new NullPointerException();
}
@Test(expectedExceptions = { NullPointerException.class, IllegalArgumentException.class })
public void throwsIllegalArgument() {
throw new IllegalArgumentException();
}
मेरे प्रारंभिक भावना है कि यह परीक्षण के अंतर्गत कोड से प्राप्त करने पर वास्तव में कौन अपवाद है कि उम्मीद है संभव हो जाना चाहिए। हालांकि, टेस्टएनजी के पीछे लोगों से कुछ डिज़ाइन निर्णय होना चाहिए।
क्या यह शायद यादृच्छिक सुविधाओं के साथ कोड का परीक्षण करने के लिए समर्थन करता है जिसे मजाक नहीं किया जा सकता है? क्या किसी के पास कोई विचार है, और अधिमानतः वास्तविक जीवन परिदृश्य है?
ठीक है, कोड_ से _Diveive शायद मेरे द्वारा खराब रूप से तैयार किया गया था। बेशक, अनुबंध का परीक्षण करने के लिए परीक्षणों को कोड किया जाना चाहिए। मैंने शायद इसे ऐसा कहा है, क्योंकि ज्यादातर समय मैं अपने कोड के लिए यूनिट परीक्षण लिखता हूं। सभी निष्पक्ष और मान्य अंक, +1 और सबसे अधिक संभावना है कि मैं जल्द ही आपका उत्तर स्वीकार करूंगा। – Magnilex