///
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 pedidoId) {
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 testeProcessarPedido_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