2011-12-20 14 views
13

क्या मैं जांच सकता हूं कि कोई विशेष अपवाद नहीं फेंक दिया गया है?मैं कैसे जांच सकता हूं कि कोई विशेष अपवाद नहीं फेंक दिया गया है?

दूसरी तरफ @Test[expect=MyException] का उपयोग करना आसान है।

लेकिन मैं इसे कैसे अस्वीकार कर सकता हूं?

+0

यह परीक्षण फेंकने के लिए है कि अपवाद फेंक दिया जाता है की उम्मीद है। अगर अपवाद नहीं फेंक दिया जाता है तो यह असफल हो जाएगा। तो यह पहले से ही करता है जो आप चाहते हैं (?) – oers

+0

कृपया अपने प्रश्न को स्पष्ट करें – nowaq

+1

आपका शीर्षक (संपादन से पहले और बाद में) आपके प्रश्न के पाठ का खंडन करता है। आप विशेष रूप से क्या करने की कोशिश कर रहे हैं? –

उत्तर

17

आप परीक्षण करना चाहते हैं, तो एक विशेष अपवाद नहीं है एक शर्त है जहाँ अन्य अपवाद फेंक दिया जा सकता है में फेंक दिया, इस प्रयास करें:

try { 
    myMethod(); 
} 
catch (ExceptionNotToThrow entt){ 
    fail("WHOOPS! Threw ExceptionNotToThrow" + entt.toString); 
} 
catch (Throwable t){ 
    //do nothing since other exceptions are OK 
} 
assertTrue(somethingElse); 
//done! 
2

catch-exception Freiheit थोड़ा अधिक संक्षिप्त का उदाहरण बना देता है :

0

आप assertj निम्नलिखित का उपयोग कर

कर सकते हैं

आप अगर अपवाद तो नहीं फेंका जाता है

Throwable throwable = catchThrowable(() -> sut.method()); 

assertThat(throwable).isNull(); 

जाँच करना चाहते हैं या आप,

Throwable throwable = catchThrowable(() -> sut.method()); 

assertThat(throwable).isInstanceOf(ClassOfExecption.class) 
        .hasMessageContaining("expected message"); 
संबंधित मुद्दे

 संबंधित मुद्दे