Analista Judiciário - Área: Apoio Especializado - Especialidade: Análises de Sistemas de Informação
Acerca de criptografia, de clean code, de refactoring e de JUnit,
julgue o item seguinte.
No JUnit, a anotação @EnabledOnOs permite que testes sejam executados em qualquer sistema operacional, garantindo que todas as funcionalidades sejam testadas uniformemente em diferentes plataformas.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
JUnit – Anotação @EnabledOnOs
Gabarito: ❌ ERRADO. A afirmação está incorreta porque a anotação @EnabledOnOs, do JUnit 5, NÃO permite que testes sejam executados em qualquer sistema operacional; ao contrário, ela restringe a execução apenas aos sistemas especificados em seus argumentos. A banca inverteu o propósito da anotação.
O que a @EnabledOnOs realmente faz?
O JUnit 5 fornece um conjunto de anotações condicionais para controlar quando um teste deve ser executado com base em condições do ambiente. A @EnabledOnOs é usada para habilitar um teste apenas em determinados sistemas operacionais. Por exemplo:
@EnabledOnOs(OS.WINDOWS)
void testSoWindows() { /* executa só no Windows */ }
Se você quer que o teste rode em qualquer SO, simplesmente não use @EnabledOnOs — ou use @DisabledOnOs com os SOs que deseja excluir. A ideia é justamente o oposto do que a assertiva diz: em vez de garantir uniformidade, ela permite ignorar testes em SOs onde não fazem sentido.
PEGA ESSA DICA!
No JUnit 5, anotações condicionais como @EnabledOnOs, @DisabledOnOs, @EnabledIf, @DisabledIf servem para restringir a execução. Memorize: toda anotação que começa com @Enabled só ativa o teste se a condição for verdadeira; @Disabled faz o contrário.
Análise da assertiva
A frase diz: "a anotação @EnabledOnOs permite que testes sejam executados em qualquer sistema operacional". Isso é falso. Ela só permite execução nos SOs listados. A segunda parte — "garantindo que todas as funcionalidades sejam testadas uniformemente em diferentes plataformas" — também é incorreta, pois a anotação não garante uniformidade; ela cria testes específicos por plataforma.