package org.junit; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * When writing tests, it is common to find that several tests need similar * objects created before they can run. Annotating a <code>public void</code> method * with <code>@Before</code> causes that method to be run before the {@link org.junit.Test} method. * The <code>@Before</code> methods of superclasses will be run before those of the current class, * unless they are overridden in the current class. No other ordering is defined. * <p> * Here is a simple example: * <pre> * public class Example { * List empty; * @Before public void initialize() { * empty= new ArrayList(); * } * @Test public void size() { * ... * } * @Test public void remove() { * ... * } * } * </pre> * * @see org.junit.BeforeClass * @see org.junit.After * @since 4.0 */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Before { }