Если вы посмотрите на фиктивные данные для баз данных SQL, здесь есть много мнений.
- Некоторые люди предлагают использовать базу данных SQL в памяти.
- Некоторые люди просто насмехаются над вызовами ORM и предполагают, что часть ORM к БД протестирована.
- Некоторые люди просто используют «локальную» БД для модульного тестирования и просто игнорируют концепцию «насмешки».
Учитывая отсутствие консенсуса по SQL, еще менее вероятно, что вы найдете консенсус поновые базы данных, такие как MongoDB.
Я думаю, что здесь есть несколько важных деталей, которые нужно рассмотреть.
- Используете ли вы какую-либо форму ORM / ODM?Только драйвер напрямую?
- Вы пытаетесь издеваться над всеми коммуникациями с БД?Вы пытаетесь смоделировать ODM?
Если вы просто пытаетесь смоделировать связь с БД, то идеальным решением является «поддельная» реализация драйвера MongoDB.Вероятно, это большая работа, так как драйвер никогда не был написан с учетом «насмешливости».
Если у вас есть ODM, вы можете просто смоделировать вызовы ODM и предположить, что ODM выполняет свою работу.В идеале ODM должен обеспечивать какой-то забавный интерфейс, но это не всегда так.
Опять же, этот ответ возвращается к тому, что вы действительно планируете тестировать, и к тому, что вы считаете хорошим модульным тестом.К сожалению, большинство из этих продуктов все еще очень новы, поэтому в этой области очень мало рекомендаций.