Во-первых, дайте адресную терминологию здесь. Все, что я ищу, говорит: "Модульные тесты не касаются базы данных!" Я не хочу unit test. Я хочу проверить, что когда я отправляю данные в базу данных, я знаю, что он правильно сохраняет ее (и тестирование других операций crud). У меня есть слой репозитория, который по существу принимает DTO, а затем сопоставляет DTO с моделью сущности, а затем сохраняет эту модель в базе данных.
Мне нужно убедиться, что отправка DTO этим методам фактически сохраняется в базе данных.
Подписями примерного метода в репозитории является:
public bool Save(SomeObjectDTO someObject)
Мне просто нужно проверить, действительно ли этот метод возвращает true.
Каков наилучший способ настройки тестов, в которых мои методы вызывают те, которые сохраняются в базе данных?
Кроме того, существует ли стандартный способ создания пустой базы данных тестирования? Было бы здорово, если бы я нажал "Run tests", он построил пустую базу данных, заполнил ее исходными данными, что необходимо, а затем выполнил все операции CRUD (все мои вызовы репозитория), чтобы увидеть, что все они сохраняются, как они должен быть.
Извиняюсь, если об этом уже ответили, но все, что я искал, либо говорит, что вы не должны тестировать вызовы базы данных, или люди, говорящие о насмешках, которые здесь не очень полезны.
Мне просто нужен пример и/или стандартная практика того, как эти типы тестов должны быть настроены.