Descripción
Crear un test de controlador REST que valide respuestas JSON usando MockMvc y verificaciones con jsonPath.
Crea una clase de test para un controlador REST que gestiona productos. El controlador tiene un endpoint GET /api/productos/1
que devuelve un producto en formato JSON con los campos id
, nombre
y precio
.
Debes implementar:
- Una clase de test anotada con
@WebMvcTest
que especifique el controladorProductoController
- Inyectar
MockMvc
usando@Autowired
- Crear un mock del servicio
ProductoService
usando@MockBean
- Implementar un método de test que:
- Configure el mock para que
obtenerProductoPorId(1L)
devuelva un producto con id=1, nombre="Laptop" y precio=999.99 - Realice una petición GET a
/api/productos/1
aceptando JSON - Verifique que el status sea 200 OK
- Verifique que el content-type sea JSON
- Use
jsonPath
para validar que el camponombre
sea "Laptop" - Use
jsonPath
para validar que el campoprecio
sea 999.99
Empezar creando la clase de test con las anotaciones necesarias, luego inyectar las dependencias y finalmente implementar el método de test con todas las verificaciones usando mockMvc.perform()
y andExpect()
.
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Este es el código que debes testear:
// Clase User
class User {
private Long id;
private String name;
private String email;
// constructores...
// getter y setters...
}
// Controlador UserController
@RestController
class UserController {
@GetMapping("/users/{id}")
public ResponseEntity<User> getUserById(@PathVariable Long id) {
// Usuario hardcodeado como se especifica en el enunciado
User user = new User(1L, "Juan Pérez", "juan@email.com");
return ResponseEntity.ok(user);
}
}
Solución al ejercicio de programación en SpringBoot
¡Desbloquea la solución completa!
Completa el ejercicio de programación en SpringBoot para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en SpringBoot
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en SpringBoot