OK, então a @Ignore
anotação é boa para marcar que um caso de teste não deve ser executado.
No entanto, às vezes eu quero ignorar um teste com base em informações de tempo de execução. Um exemplo pode ser se eu tiver um teste de simultaneidade que precise ser executado em uma máquina com um certo número de núcleos. Se esse teste fosse executado em uma máquina uniprocessadora, não acho que seria correto apenas passar no teste (já que não foi executado) e certamente não seria correto falhar no teste e interromper a compilação .
Então, eu quero poder ignorar testes em tempo de execução, pois esse parece ser o resultado certo (já que a estrutura de teste permitirá que a compilação passe, mas registre que os testes não foram executados). Tenho certeza de que a anotação não me dará essa flexibilidade e suspeito que precisarei criar manualmente o conjunto de testes para a classe em questão. No entanto, a documentação não menciona nada sobre isso e, analisando a API , também não está claro como isso seria feito programaticamente (ou seja, como eu crio programaticamente uma instância Test
ou similar equivalente à criada pela @Ignore
anotação?).
Se alguém fez algo semelhante no passado, ou tem uma idéia brilhante de como mais eu poderia fazer isso, ficaria feliz em ouvir sobre isso.