मैं एक अपेक्षित अपवाद के साथ एक विधि का परीक्षण कर रहा हूं। मुझे यह भी सत्यापित करने की आवश्यकता है कि अपवाद फेंकने के बाद कुछ क्लीनअप कोड (मॉक ऑब्जेक्ट पर) कहा जाता था, लेकिन ऐसा लगता है कि सत्यापन को अनदेखा किया जा रहा है। कोड यहाँ है। मैं अपेक्षित अपवाद को सत्यापित करने के लिए जूनिट ExpectedException
Rule
का उपयोग कर रहा हूं।मॉकिटो अपवाद के बाद सत्यापित करें जूनिट 4.10
@Rule
public ExpectedException expectedEx = ExpectedException.none();
@Test
public void testExpectedException()
{
MockedObject mockObj = mock(MockedObj.class);
MySubject subject = new MySubject(mockedObj);
expectedEx.expect(MyException.class);
expectedEx.expectMessage("My exception message.");
subject.someMethodThrowingException();
verify(mockObj).
someCleanup(eq(...));
}
ऐसा लगता है कि verify
पूरी तरह से अनदेखा किया जा रहा है। इससे कोई फर्क नहीं पड़ता कि मैंने verify
में किस विधि को रखा है, मेरा परीक्षण गुजर रहा है, जो मैं नहीं चाहता हूं।
कोई विचार क्यों खुशहाल है?
साथ अधिक सुरुचिपूर्ण समाधान मेरे बीच पैरा की जाँच करें ... मुझे लगता है कि काम करेगा लेकिन ExpectedException संदेश निगल जाएगा। हालांकि प्रशंसा के लिए धन्यवाद! –
मिस्ड कि - शायद सही है। –
अंततः मेरे लिए ठीक काम करता है - सत्यापित निष्पादित करता है और अभी भी अपेक्षित अपवाद का पता लगाता है और यह संदेश है –