Si te encuentras con algún detalle que te causa duda puedes comentarlo y te responderemos lo mas rápido que podamos.
Solución:
Creo que tenía razón sobre el problema. Después de encontrar una publicación en Github y leer la documentación de Spring:
@DataJpaTest se puede usar si desea probar aplicaciones JPA. De forma predeterminada, configurará una base de datos incrustada en memoria, buscará clases @Entity y configurará repositorios Spring Data JPA. Los beans @Component normales no se cargarán en ApplicationContext.
Mi PersonRepository
se considera regular @Component
, porque no es un repositorio Spring Data JPA (la interfaz lo es). Por lo tanto, no está cargado.
La solución alternativa es utilizar @SpringBootTest
en lugar de @DataJpaTest
.
La desventaja de esta solución es que cargará todos su contexto mientras ejecuta su prueba y, con esto, deshabilitar el corte de prueba. Pero haz el trabajo.
Otra opción, todavía usando @DataJpaTest
es incluir un @Repository
anotación de filtro, así:
@DataJpaTest(includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Repository.class))
Sólo otra alternativa podría ser @Import
como se muestra aquí https://stackoverflow.com/a/41084739/384674.
Sección de Reseñas y Valoraciones
Si te sientes a gusto, puedes dejar una crónica acerca de qué le añadirías a esta sección.