I have the following piece of code:
@Test(expected = IllegalArgumentException.class)
public void failureTest() {
testedObject.supposedToFail("");
testedObject.supposedToFail(null);
}
When running this, I have no guarantee that I will throw an IllegalArgumentException with a null parameter. Indeed, whenever JUnit meets the first exception, it stops the run of the whole method.
Considering the number of test cases I have to try for this class (~20), I doubt writing 20 methods each expecting a specific exception (which are often the same, tho) would be efficient.
Is there any way to try for every method throwing a specific exception at once ? (e.g. with my sample, you would go through both methods)
Thank you
I would use an auxiliary method and do it this way:
EDIT: This does not work, see alternative working solution
ALTERNATIVE WORKING SOLUTION, CHANGE AFTER COMMENT BY MIRZAK
My solution seems to actually only test the first case in the list. Here is a working version that will test them all
This outputs, as expected: