Boa noite galera,
Não estou conseguindo mockar a classe Scanner do java.
Como ela é uma classe final estou usando o PowerMock. Ao rodar o teste ele cria uma instância da classe Scanner com as propriedades nulas e não gera o proxy para encapsulá-la.
Segue o código de exemplo da classe e do teste.
public final class Teste {
private Scanner scanner;
public Teste(Scanner scanner) {
this.scanner = scanner;
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Scanner.class })
public class ScannerTest {
@InjectMocks
private Teste teste;
@Mock
private Scanner scanner;
@Test
public void shouldStart() throws Exception {
scanner.hasNext();
}
}
Muito obrigado.