Considere o seguinte trecho de código em Java, utilizando JUnit e Mockito para testar o comportamento de uma classe de serviço.
public class PedidoService {
private final PedidoRepository pedidoRepository;
public PedidoService (PedidoRepository pedidoRepository) {
this. pedidoRepository = pedidoRepository;
}
public String processarPedido {String pedidold} {
Optional<Pedido> pedido = pedidoRepository.buscarPorId(pedidoId);
if (pedido.isPresent ( ) && pedido.get ( ) .isValido ( ) ) }
return "Pedido processado com sucesso";
} else {
return "Falha ao processar pedido"
}
}
}
@ExtendWith (MockitoExtension.class)
class PedidoServiceTest {
@Mock
private PedidoRepository pedidoRepository;
@InjectMocks
private PedidoService pedidoService;
@Test
void testeFrocessarPedido_Sucesso( ) {
Pedido pedidoMock = Mockito.mock (Pedido.class);
Mockito.when (pedidoMock.isValido ( ) ).thenReturn (false);
Mockito.when (pedidoRepository.buscarPorId("123")). thenReturn (Optional, of (pedidoMock));
String resultado = pedidoService.processarPedido("123");
Assertions.assertEquals ("Pedido processado com sucesso", resultado);
}
}
Ao se executar o código em condições ideais, o teste