Annotation Type AfterClass


@Retention(RUNTIME) @Target(METHOD) public @interface AfterClass
If you allocate expensive external resources in a BeforeClass method you need to release them after all the tests in the class have run. Annotating a public static void method with @AfterClass causes that method to be run after all the tests in the class have been run. All @AfterClass methods are guaranteed to run even if a BeforeClass method throws an exception. The @AfterClass methods declared in superclasses will be run after those of the current class, unless they are shadowed in the current class.

Here is a simple example:

public class Example {
   private static DatabaseConnection database;
   @BeforeClass public static void login() {
         database= ...;
   }
   @Test public void something() {
         ...
   }
   @Test public void somethingElse() {
         ...
   }
   @AfterClass public static void logout() {
         database.logout();
   }
}
Since:
4.0
See Also: