На самом деле мы работаем над такой тестовой системой, и это вполне осуществимо.В нашем подходе наша тестовая среда расширяет стандартный класс тестового примера (в нашем случае JUnit, но TestNG кажется более способным), который устанавливает и разбирает различные зависимости базы данных при каждом тесте, используя следующие шаги:
Установка комплекта тестов
1) Запустить процесс mongod (мы используем ProcessBuilder, сохранить экземпляр процесса)
Настройка теста:
2) Запустить mongo с файлом теста .js для получения исходных данныхstate
Test
3) Выполнить тест
Test Teardown
4) Удалить базу данных
Test Suite Teardown
5) Остановите процесс Mongod (process.destroy ())
Поскольку запуск и остановка Mongod - единственная вещь, занимающая много времени, я настоятельно рекомендую делать это как можно меньше.Желательно один раз для всего набора тестов.Наш материал еще не закончен, но первые результаты положительные.Я не думаю, что есть много альтернатив.На момент написания этой статьи библиотека mongo mock недоступна, и у mongod нет режима встроенной памяти / встроенного режима.