Here it is well explained why @DataJpaTest
and @SpringBootTest
shouldn't be mixed in one application.
But barely explained the case when anyway need to test every layer of MVC SpringBoot application (from my point it's natural to test not only one or only another layer but both and even all layers, isn't it?)
So there was suggested a solution to use @AutoConfigureTestDatabase
rather than @DataJpaTest
but didn't finish the job (((
So my question is: is using @AutoConfigureTestDatabase
an appropriate solution? If yes, please explain details. If no, please suggest more appropriate solution, thank you
Assuming you want the full application with the exception of database being in-memory, yes, combining @SpringBootTest with @AutoConfigureTestDatabase is an appropriate solution, as it does just that.
It is also mentioned in the documentation of @DataJpaTest:
If you are looking to load your full application configuration, but use an embedded database, you should consider @SpringBootTest combined with @AutoConfigureTestDatabase rather than this annotation.