package org.junit;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Sometimes several tests need to share computationally expensive setup
* (like logging into a database). While this can compromise the independence of
* tests, sometimes it is a necessary optimization. Annotating a public static void
no-arg method
* with @BeforeClass
causes it to be run once before any of
* the test methods in the class. The @BeforeClass
methods of superclasses
* will be run before those of the current class, unless they are shadowed in the current class.
*
* For example: *
* public class Example { * @BeforeClass public static void onlyOnce() { * ... * } * @Test public void one() { * ... * } * @Test public void two() { * ... * } * } ** * @see org.junit.AfterClass * @since 4.0 */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface BeforeClass { }