Java cvprof Coverage Report for
ExceptionTestCase.java

    1   package junit.extensions;
    2   
    3   import junit.framework.*;
    4   
    5   /**
    6    * A TestCase that expects an Exception of class fExpected to be thrown.
    7    * The other way to check that an expected exception is thrown is:
    8    * <pre>
    9    * try {
   10    *   shouldThrow();
   11    * }
   12    * catch (SpecialException e) {
   13    *   return;
   14    * }
   15    * fail("Expected SpecialException");
   16    * </pre>
   17    *
   18    * To use ExceptionTestCase, create a TestCase like:
   19    * <pre>
   20    * new ExceptionTestCase("testShouldThrow", SpecialException.class);
   21    * </pre>
   22    */
   23   public class ExceptionTestCase extends TestCase {
   24   	Class fExpected;
   25   
   26   	public ExceptionTestCase(String name, Class exception) {
   27   		super(name);
   28   		fExpected= exception;
   29   	}
   30   	/**
   31   	 * Execute the test method expecting that an Exception of
   32   	 * class fExpected or one of its subclasses will be thrown
   33   	 */
   34   	protected void runTest() throws Throwable {
   35   		try {
   36   			super.runTest();
   37   		}
   38   		catch (Exception e) {
   39   			if (fExpected.isAssignableFrom(e.getClass()))
   40   				return;
   41   			else
   42   				throw e;
   43   		}
   44   		fail("Expected exception " + fExpected);
   45 > 	}
   46   }