Oltre a quanto già detto correttamente da Alex'87, io aggiungo:
Per ogni invocazione di un metodo di test, JUnit crea una nuova istanza della classe di test su cui poi invoca il metodo. Questo serve per avere uno stato "pulito" ad ogni singolo test. I metodi @Before/@After aiutano appunto a creare e liberare eventuali risorse notevoli usate dai test o per fare logiche comuni a tutti quanti i test.
Esistono anche @BeforeClass/@AfterClass. Vanno usati su metodi public static void no-arg (senza argomenti). Vengono invocati una sola volta rispettivamente prima e dopo tutti i test.
Queste annotazioni le puoi usare su più metodi (es. puoi avere 3 metodi @Before). L'ordine di esecuzione di questi metodi all'interno della classe non è garantito. Invece è garantito che i @Before in una super-classe vengono eseguiti prima di quelli nella sotto-classe e i @After in una super-classe dopo quelli nella sotto-classe.