Najłatwiejszym rozwiązaniem jest użycie pustego konstruktora. Nadal można przesłonić konstruktora w klasie rozszerzonej.
Ale to nie jest optymalne z całym dziedzictwem. Dlatego JUnit 4 używa zamiast tego adnotacji.
Inną opcją jest utworzenie metody pomocniczej w klasie factory / util i pozwolenie tej metodzie wykonać całą pracę.
Jeśli używasz Spring, powinieneś rozważyć użycie @TestExecutionListeners
adnotacji. Coś takiego jak ten test:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({CustomTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@ContextConfiguration("test-config.xml")
public class DemoTest {
Spring AbstractTestExecutionListener
zawiera na przykład tę pustą metodę, którą możesz nadpisać:
public void beforeTestClass(TestContext testContext) throws Exception {
}
UWAGA: NIE przeoczyć / przegapić DependencyInjectionTestExecutionListener
podczas dodawania niestandardowego TestExecutionListeners
. Jeśli to zrobisz, wszystkie autoprzewodniki będą null
.