Basic Java CRUD application. Nothing crazy. We would want to test the data layer accordingly (so we have dependencies on a database).
The project is maven based, so the pipeline runs a build/runs unit tests then drops the artifact accordingly.
My question is this: what's the best practice to handle this with Azure Pipelines? Should we run an in-memory database that we can create and destroy once tests are complete (so basically keep the pipeline as is and just handle this as part of the maven tests that already run)? This would allow us the ability to control the data we start with and create an appropriate baseline for all tests.
Is it better to do that in the release pipeline after pushing to a docker container that we rebuild each time?
What is considered "best practice" for Azure DevOps (even DevOps in general)?