carbidecpp20devenv/plugins/org.eclipse.test.source_3.3.0.v20080507/src/org.junit4_4.3.1/junitsrc/org/junit/BeforeClass.java
author cawthron
Wed, 18 Mar 2009 17:21:00 -0500
changeset 1 82d1d1de1a01
permissions -rw-r--r--
import Carbide.c++
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     1
package org.junit;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     2
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     3
import java.lang.annotation.ElementType;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     4
import java.lang.annotation.Retention;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     5
import java.lang.annotation.RetentionPolicy;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     6
import java.lang.annotation.Target;
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     7
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     8
/**
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     9
 * <p>Sometimes several tests need to share computationally expensive setup
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    10
 * (like logging into a database). While this can compromise the independence of 
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    11
 * tests, sometimes it is a necessary optimization. Annotating a <code>public static void</code> no-arg method
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    12
 * with <code>@BeforeClass</code> causes it to be run once before any of 
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    13
 * the test methods in the class. The <code>@BeforeClass</code> methods of superclasses
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    14
 * will be run before those the current class.</p>
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    15
 * 
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    16
 * For example:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    17
 * <pre>
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    18
 * public class Example {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    19
 *    &#064;BeforeClass public static void onlyOnce() {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    20
 *       ...
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    21
 *    }
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    22
 *    &#064;Test public void one() {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    23
 *       ...
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    24
 *    }
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    25
 *    &#064;Test public void two() {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    26
 *       ...
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    27
 *    }
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    28
 * }
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    29
 * </pre>
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    30
 * @see org.junit.AfterClass
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    31
 */
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    32
@Retention(RetentionPolicy.RUNTIME)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    33
@Target(ElementType.METHOD)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    34
public @interface BeforeClass {
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    35
}