Re: Java - Junit distinguish exceptions
On 12/10/2010 6:38 AM, John wrote:
JUnit has a built in way to tell whether an exception was thrown when
it should have been:
@Test(expected=IllegalArgumentException.class)
That is very cool, thanks for pointing that out. I've always just
caught the exception like Lew. One advantage of the latter method is I
think that you can test a large number of vectors in a loop. Whereas
using the built in feature necessitates that you exit the test immediately.
Here's an actual live example:
for( String test: testVectors ) {
ByteArrayInputStream ins = new ByteArrayInputStream(
test.getBytes() );
MultiBufferCharSeq instance = new MultiBufferCharSeq( ins, null );
Class<IllegalArgumentException> expResult =
IllegalArgumentException.class;
Class<?> result = null;
try {
char dummy = instance.setIndex( -1 );
} catch( IllegalArgumentException ex ) {
result = ex.getClass();
}
assertSame( expResult, result );
}
}