जुनीट में कई अपेक्षित अपवाद

एप्लिकेशन कुछ तरीकों से दो अलग-अलग अपवाद फेंक रहा है। विधि ()। मैं जुनीट द्वारा इसका परीक्षण करना चाहता हूं।

मैं "प्राकृतिक" अपवाद को अलग करने के लिए अपेक्षित अपवाद और @ नियम का उपयोग कर सकता हूं, एप्लिकेशन को फेंकने की उम्मीद है। आप कैसे जोर देते हैं कि जुनीट 4 परीक्षणों में एक निश्चित अपवाद फेंक दिया गया है? यह समझा रहा है।

मैं अपने मामले में यह कैसे कर सकता हूं - 2 या अधिक " प्राकृतिक " अपवाद? अपेक्षित अपवाद एकाधिक अपेक्षित अपवाद नहीं रख रहा है।

ऐसा करने के अन्य तरीके हैं - जैसा कि आप कैसे कहते हैं कि जुइनिट 4 परीक्षणों में एक निश्चित अपवाद फेंक दिया गया है? । मैं सोच रहा हूं कि ऐसा करने का कोई तरीका है या नहीं जुनीट की अंतर्निर्मित विशेषताओं का उपयोग करके।

0

3 उत्तर

एक एकल परीक्षण विधि केवल एक बार बाहर निकल सकती है, और इसलिए केवल एक अपवाद फेंक सकता है। अगर आप यह पुष्टि करना चाहते हैं कि आपका कोड दो अलग-अलग तरीकों से विफल हो सकता है तो आपके पास दो अलग-अलग परीक्षण होंगे; इसे दो परीक्षण विधियों में विभाजित करें और प्रत्येक पर विशिष्ट अपवाद घोषित करें।

0
जोड़ा
मैं कई अपेक्षित अपवादों को अलग करना चाहता हूं - ताकि परीक्षण होने पर परीक्षण बाहर नहीं निकल सके।
जोड़ा लेखक Roam, स्रोत
यदि आप वास्तव में को एक ही परीक्षण में उनकी आवश्यकता है, तो आपको स्पष्ट try / विफल / catch का उपयोग करने की आवश्यकता होगी। ब्लॉक, जैसे यह प्रश्न । आप ध्यान दें कि उस प्रश्न के अत्यधिक मतदान किए गए उत्तर से अलग परीक्षणों में इसे तोड़ने का सुझाव मिलता है; वह अभी भी मेरी सिफारिश भी होगी।
जोड़ा लेखक Joe, स्रोत

आप त्रुटि संग्रहकर्ता के साथ कई अपवाद एकत्र कर सकते हैं और अंत में उन्हें सत्यापित कर सकते हैं परीक्षण का। लेकिन आपको कलेक्टर को मैन्युअल रूप से अपवाद जोड़ना होगा, क्योंकि जुनीट केवल आपकी टेस्ट विधि देखता है और विधि निष्पादन के दौरान कुछ भी नहीं कर सकता है।

0
जोड़ा
ErrorCollector एकाधिक AssertionErrors को ढेर करता है कि टेस्टकेस फेंक रहा है। मैं जुनीट को कई अपेक्षित त्रुटियों की पहचान करने के लिए देख रहा हूं जो एप्लिकेशन फेंक सकता है ताकि मैं परीक्षण के दौरान उन्हें अनदेखा कर सकूं।
जोड़ा लेखक Roam, स्रोत
यह संभव नहीं है।
जोड़ा लेखक Stefan Birkner, स्रोत

मुझे इस तरह से मिला क्योंकि जुनीट फ़ंक्शंस केवल एक अपवाद स्वीकार करता है।

@Test
public void checkRuleValidation() {
    Rule rule = generateRules(1, "rule.json").get(0);
   //rule name validation
    rule.setRuleName(null);
    try {
        ruleResource.saveRule(rule);
       //expecting exception if no assert false
        assertTrue(false);
    } catch (BadRequestException br) {
        assertTrue(true);
    }

    //validating rule action
    rule.setRuleAction(null);
    try {
        ruleResource.saveRule(rule);
       //expecting exception if no assert false
        assertTrue(false);
    } catch (AuthorizationException br) {
        assertTrue(true);
    }
}
0
जोड़ा