Testando chamadas de banco de dados C #

Primeiro, vamos abordar a terminologia aqui. Tudo o que procuro diz: "Os testes de unidade não tocam o banco de dados!" Eu não quero um teste de unidade. Quero um teste que, quando envio dados para um banco de dados, sei que ele os salva corretamente (e teste de outras operações brutas). Eu tenho uma camada de repositório que basicamente aceita um DTO, mapeia esse DTO para um modelo de estrutura de entidade e salva esse modelo no banco de dados.

Eu preciso garantir que o envio de um DTO para esses métodos seja realmente salvo no banco de dados.

Um exemplo de assinatura de método no repositório é:

public bool Save(SomeObjectDTO someObject)

Eu só preciso testar se essa chamada de método retorna ou não verdadeira.

Qual é a melhor maneira de configurar testes nos quais meus métodos chamados são salvos no banco de dados?

Além disso, existe uma maneira padrão de configurar um banco de dados de testes em branco? Seria ótimo se, quando eu clicar em "Executar testes", construa um banco de dados vazio, preencha com os dados iniciais necessários e, em seguida, execute todas as operações CRUD (todas as minhas chamadas de repositório) para ver se todas estão salvando como estão. deveria estar.

Peço desculpas se isso já foi respondido, mas tudo o que procurei tem alguém dizendo que você não deveria testar chamadas de banco de dados ou pessoas falando sobre zombaria, o que não é realmente útil aqui.

Eu só quero um exemplo e / ou a prática padrão de como esses tipos de testes devem ser configurados.

questionAnswers(2)

yourAnswerToTheQuestion