Annotation Type Test
-
@Retention(RUNTIME) @Target(METHOD) public @interface Test
The
Test
annotation tells JUnit that thepublic 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 two optional parameters. The first,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); }
The second optional parameter,
timeout
, causes a test to fail if it takes longer than a specified amount of clock time (measured in milliseconds). The following test fails:@Test(timeout=100) public void infinity() { while(true); }
- Since:
- 4.0
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.Class<? extends java.lang.Throwable>
expected
Optionally specifyexpected
, a Throwable, to cause a test method to succeed iff an exception of the specified class is thrown by the method.long
timeout
Optionally specifytimeout
in milliseconds to cause a test method to fail if it takes longer than that number of milliseconds.
-