Pergunta

Graças a uma atualização da biblioteca (EasyMock 2.2 -> 2.4), nós estamos tendo testes que começaram a trancar. Eu gostaria de ter um tempo fora em testes individuais, todos eles. A idéia é identificar os testes trancados - estamos actualmente a adivinhar -. E corrigi-los

Isso é possível, de preferência em um nível amplo de banho? Temos 400 testes, fazendo isso cada método ou mesmo cada classe será demorado.

Foi útil?

Solução

O suíte tag pode ter o atributo de tempo limite. Esse tempo limite será usado como padrão para todos os métodos de teste.

Esta lata de tempo limite padrão do que ser substituído em uma base método por teste.

Outras dicas

Se o nível Suíte acaba por ser a abordagem errada (ou seja, "muito grande uma rede", porque você acaba marcando demais métodos com limite de tempo de espera), você precisa definir um costume IAnnotationTransformer que, para cada função ilegível, lhe dará a oportunidade de modificar uma anotação @Test (com, por exemplo o setTimout ( ) método).
(setTimout(0) cancela uma directiva timeout)

Muito tarde, mas: correndo jstack -l <PID> lhe dará o despejo de pilha, que você pode inspecionar para encontrar que as chamadas estão presos. Você pode querer experimentar algumas vezes para ter certeza de que está preso.

Você pode fazer uma pesquisa e substituir para "@Test" com "@Test (timeout =)" Deve trabalhar para encontrar o teste fechado à chave e pode ser desfeita depois disso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top