Что я делал много раз при тестировании вызовов базы данных, так это настраивал базу данных, открывал транзакцию и откатывал ее в конце. Я даже использовал базу данных sqlite в памяти, которую я создаю и уничтожаю при каждом тесте. И это работает и происходит относительно быстро.
У меня вопрос : следует ли имитировать вызовы базы данных, следует ли использовать описанный выше метод или использовать оба - один для модульного тестирования, второй для интеграционных тестов (что, по крайней мере, мне кажется двойной работой) .