अपडेट: JUnit5 में अपवाद परीक्षण के लिए सुधार है:assertThrows
:।
निम्नलिखित उदाहरण से है: जून 5 उपयोगकर्ता गाइड
@Test
void exceptionTesting() {
Throwable exception = assertThrows(IllegalArgumentException.class, () ->
{
throw new IllegalArgumentException("a message");
});
assertEquals("a message", exception.getMessage());
}
मूल उत्तर JUnit 4 का उपयोग कर।
परीक्षण करने के कई तरीके हैं कि एक अपवाद फेंक दिया गया है। मैंने अपनी पोस्ट में नीचे दिए गए विकल्पों पर भी चर्चा की है JUnit के साथ महान इकाई परीक्षण कैसे लिखें
expected
पैरामीटर सेट करें @Test(expected = FileNotFoundException.class)
।
@Test(expected = FileNotFoundException.class)
public void testReadFile() {
myClass.readFile("test.txt");
}
का उपयोग करते हुए try
catch
public void testReadFile() {
try {
myClass.readFile("test.txt");
fail("Expected a FileNotFoundException to be thrown");
} catch (FileNotFoundException e) {
assertThat(e.getMessage(), is("The file test.txt does not exist!"));
}
}
ExpectedException
नियम से परीक्षण ।
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void testReadFile() throws FileNotFoundException {
thrown.expect(FileNotFoundException.class);
thrown.expectMessage(startsWith("The file test.txt"));
myClass.readFile("test.txt");
}
आप अपवाद परीक्षण के लिए JUnit4 विकि में अपवाद परीक्षण के बारे में अधिक पढ़ सकते हैं और bad.robot - अपवाद JUnit नियम की अपेक्षा कर सकते हैं ।
org.mockito.Mockito.verify
यह सुनिश्चित करने के लिए विभिन्न मापदंडों के साथ कॉल करना चाहता हूं कि कुछ चीजें हुईं (जैसे कि एक लकड़हारा सेवा को सही मापदंडों के साथ बुलाया गया था) अपवाद को फेंकने से पहले।