1package org.junit;
2
3import java.lang.annotation.ElementType;
4import java.lang.annotation.Retention;
5import java.lang.annotation.RetentionPolicy;
6import java.lang.annotation.Target;
7
8/**
9 * <p>Sometimes several tests need to share computationally expensive setup
10 * (like logging into a database). While this can compromise the independence of
11 * tests, sometimes it is a necessary optimization. Annotating a <code>public static void</code> no-arg method
12 * with <code>@BeforeClass</code> causes it to be run once before any of
13 * the test methods in the class. The <code>@BeforeClass</code> methods of superclasses
14 * will be run before those the current class.</p>
15 *
16 * For example:
17 * <pre>
18 * public class Example {
19 *    &#064;BeforeClass public static void onlyOnce() {
20 *       ...
21 *    }
22 *    &#064;Test public void one() {
23 *       ...
24 *    }
25 *    &#064;Test public void two() {
26 *       ...
27 *    }
28 * }
29 * </pre>
30 * @see org.junit.AfterClass
31 */
32@Retention(RetentionPolicy.RUNTIME)
33@Target(ElementType.METHOD)
34public @interface BeforeClass {
35}
36