Utilizar un constructor vacío es la solución más sencilla. Aún puede anular el constructor en la clase extendida.
Pero no es óptimo con toda la herencia. Es por eso que JUnit 4 usa anotaciones en su lugar.
Otra opción es crear un método auxiliar en una clase factory / util y dejar que ese método haga el trabajo.
Si está usando Spring, debería considerar usar la @TestExecutionListeners
anotación. Algo como esta prueba:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({CustomTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@ContextConfiguration("test-config.xml")
public class DemoTest {
Spring AbstractTestExecutionListener
contiene, por ejemplo, este método vacío que puede anular:
public void beforeTestClass(TestContext testContext) throws Exception {
}
NOTA: NO pase por alto / pase por alto DependencyInjectionTestExecutionListener
al agregar personalizado TestExecutionListeners
. Si lo hace, todos los cables automáticos serán null
.