Probar llamadas a la base de datos C #

Primero, abordemos la terminología aquí. Todo lo que busco dice: "¡Las pruebas unitarias no tocan la base de datos!" No quiero una prueba unitaria. Quiero una prueba de que cuando envío datos a una base de datos, sé que los guarda correctamente (y pruebas de otras operaciones difíciles). Tengo una capa de repositorio que esencialmente acepta un DTO, luego asigna ese DTO a un modelo de marco de entidad, luego guarda ese modelo en la base de datos.

Necesito poder asegurarme de que enviar un DTO a estos métodos de hecho se guarde en la base de datos.

Un ejemplo de firma de método en el repositorio es:

public bool Save(SomeObjectDTO someObject)

Solo necesito probar si esta llamada al método devuelve verdadero o no.

¿Cuál es la mejor manera de configurar pruebas donde se llaman mis métodos que se guardan en la base de datos?

Además, ¿hay una forma estándar de configurar una base de datos de prueba en blanco? Sería genial si cuando presiono "Ejecutar pruebas" construye una base de datos vacía, la llena con los datos iniciales que son necesarios y luego realiza todas las operaciones CRUD (todas mis llamadas al repositorio) para ver que todos están ahorrando como si debiera ser.

Pido disculpas si esto ya está respondido, pero todo lo que he buscado tiene a alguien que dice que no debería probar las llamadas a la base de datos, o personas que hablan de burlarse, lo que no es realmente útil aquí.

Solo quiero un ejemplo y / o la práctica estándar sobre cómo se deben configurar estos tipos de pruebas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta