Когда вы пишите приемочные испытания, вполне можно использовать реальную базу данных. Приемочные тесты являются сквозными и должны проверять поведение всей вашей системы в конце концов.
Однако при написании простых модульных тестов для классов, которые изменяют некоторые данные и их необходимо сохранить, вы не хотите полагаться на конкретную базу данных. Большинство ваших модульных тестов даже не требуют каких-либо постоянных данных. Вам нужно будет сообщить какой-нибудь модуль «сохранить это», «обновить это», «удалить это», конечно, но нет необходимости постоянно сохранять данные. Так почему же проблема в создании базы данных? Вместо этого вы можете создать макет вашего картографа данных:

DataMapperMock
просто хранить все, что сохранить/обновить в памяти. Поэтому, когда вы хотите проверить, правильно ли создано ваше приложение или обновленные объекты, вы можете просто настроить свое приложение с помощью DataMapperMock
вместо реальной вещи и спросить, получили ли они эти объекты. Поэтому, в конце концов, издевательская база данных довольно проста в использовании и на самом деле не нуждается в какой-либо специальной магии инфраструктуры. Это относится только к тестам, которые не требуют постоянных данных. Но даже для этого решение было бы не слишком сложным. Просто создайте еще один макет, который сохраняет/читает текстовые файлы вместо использования базы данных. Это, скорее всего, будет достаточно хорошим для ваших тестов, поскольку вы, как правило, не сохраняете много данных в модульном тесте.
Почему бы не использовать настоящую вещь? –
Вы имеете в виду, что скрипт сборки создает один, запускает его, останавливает и удаляет при успешной сборке? –
Нет, пусть это работает всегда. А затем создайте/удалите коллекции/документы по своему усмотрению. –