Posso aplicar um limite de tempo para todos os testes no pacote

Existe uma maneira no JUnit para definir um tempo limite / limite global para todos os testes incluídos no pacote.

Bem, deixe-me explicar isso um pouco.

Eu quero introduzir um conjunto de teste junit no sistema de compilação de um projeto legado que seria executado em cada compilação. A suíte deve consistir em testes de unidade de execução rápida, mas o projeto tem um conjunto misto de testes de integração e unidade na sua pasta de origem de testes.

Então, o que eu estou querendo é introduzir um conjunto de testes central para testes unitários que contém apenas aqueles testes que são capazes de rodar dentro de um certo limite de tempo (cada teste individualmente).

Eu quero reforçar essa regra, introduzindo um@Rule anotação, se possível.

Eu tentei isso:

@RunWith(Suite.class)
@SuiteClasses({...})
public class FastTestSuite{
    @Rule Timeout timeout = new Timeout(1);
}

mas isso não parece fazer o truque. Eu sei que há testes que são muito mais lentos que 1 milissegundo, mas nenhum dos testes falhou.

questionAnswers(1)

yourAnswerToTheQuestion