Если все ваши тесты расширяют некоторый базовый класс, я думаю, что вы можете вставить туда @Rule
, который будет применяться ко всем @Test
в дочернем классе.
, например
import org.junit.rules.Timeout;
public abstract class BaseTestConfiguration {
@Rule public Timeout testTimeout = new Timeout(60000); // 60k ms = 1 minute
}
public class ThingTests extends BaseTestConfiguration {
@Test
public void testThis() {
/*will fail if not done in 1 minute*/
}
@Test
public void testThat() {
/*will fail if not done in 1 minute*/
}
}
Мы обнаружили, что это проще, чем возиться с AspectJ или секретными директивами конфигурации. Разработчики с большей вероятностью разберутся в частях Java, чем во всех секретных XML-документах.
Вы также можете поместить @Before
@After
и любое количество других директив junit в базовый класс.