@Retention(value=RUNTIME) @Target(value=METHOD) public @interface Test
Test annotation tells JUnit that the public void method to which it is attached can be
 run as a test case. To run the method, JUnit first constructs a fresh instance of the class then invokes the
 annotated method. Any exceptions thrown by the test will be reported by JUnit as a failure. If no exceptions are
 thrown, the test is assumed to have succeeded.
 A simple test looks like this:
 public class Example {
    @Test
    public void method() {
       org.junit.Assert.assertTrue( new ArrayList().isEmpty() );
    }
 }
 
 
 The Test annotation supports one optional parameter. This parameter, expected, declares
 that a test method should throw an exception. If it doesn't throw an exception or if it throws a different exception
 than the one declared, the test fails. For example, the following test succeeds:
 
    @Test(expected=IndexOutOfBoundsException.class) public void outOfBounds() {
       new ArrayList<Object>().get(1);
    }