Utilizzare un costruttore vuoto è la soluzione più semplice. È ancora possibile sovrascrivere il costruttore nella classe estesa.
Ma non è ottimale con tutta l'eredità. Ecco perché JUnit 4 utilizza invece le annotazioni.
Un'altra opzione è creare un metodo di supporto in una classe factory / util e lasciare che il metodo faccia il lavoro.
Se stai usando Spring, dovresti considerare l'utilizzo @TestExecutionListeners
dell'annotazione. Qualcosa di simile a questo test:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({CustomTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@ContextConfiguration("test-config.xml")
public class DemoTest {
Spring's AbstractTestExecutionListener
contiene ad esempio questo metodo vuoto che puoi sovrascrivere:
public void beforeTestClass(TestContext testContext) throws Exception {
}
NOTA: NON trascurare / perdere DependencyInjectionTestExecutionListener
durante l'aggiunta di personalizzazioni TestExecutionListeners
. Se lo fai, tutti i cavi automatici saranno null
.