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 <code>public static void</code> no-arg method
with <code>@BeforeClass</code> causes it to be run once before any of
the test methods in the class. The <code>@BeforeClass</code> methods of superclasses
will be run before those of the current class, unless they are shadowed in the current class.
<p>
For example:
<pre>
public class Example {
@BeforeClass public static void onlyOnce() {
...
}
@Test public void one() {
...
}
@Test public void two() {
...
}
}
</pre>
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 <code>public static void</code> no-arg method with <code>@BeforeClass</code> causes it to be run once before any of the test methods in the class. The <code>@BeforeClass</code> methods of superclasses will be run before those of the current class, unless they are shadowed in the current class. <p> For example: <pre> public class Example { @BeforeClass public static void onlyOnce() { ... } @Test public void one() { ... } @Test public void two() { ... } } </pre>