Использовать пустой конструктор - это самое простое решение. Вы все равно можете переопределить конструктор расширенного класса.
Но это не оптимально со всем наследованием. Вот почему JUnit 4 использует аннотации.
Другой вариант - создать вспомогательный метод в классе factory/util и позволить этому методу выполнить эту работу.
Если вы используете Spring, вам следует рассмотреть аннотацию @TestExecutionListeners
. Что-то вроде этого теста:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({CustomTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@ContextConfiguration("test-config.xml")
public class DemoTest {
весны AbstractTestExecutionListener
содержит, например, этот пустой метод, который вы можете переопределить:
public void beforeTestClass(TestContext testContext) throws Exception {
/* no-op */
}
Из интереса почему вы пытаетесь это сделать? – Goibniu
Ну, у меня довольно большая иерархия тестовых файлов и базовых тестовых файлов, мне нужно переопределить это действие в классах дочерних тестов. – Roman
У меня была та же проблема, в которой только первый из многих параметризованных тестов должен выполнять логин. – dokaspar