Моя база данных - MongoDB.Я пишу API уровня данных, чтобы абстрагировать детали реализации от клиентских приложений, то есть, по сути, я предоставляю один открытый интерфейс (объект, который действует как IDL).
Я тестирую свойлогика, как я иду в манере TDD.Перед каждым модульным тестом вызывается метод @Before
для создания одноэлементной базы данных, после чего после завершения теста вызывается метод @After
для удаления базы данных.Это помогает продвигать независимость между модульными тестами.
Почти все модульные тесты, то есть , выполняющие контекстный запрос , требуют, чтобы какая-то логика вставки выполнялась заранее.В моем общедоступном интерфейсе есть метод вставки - но, кажется, некорректно использовать этот метод в качестве логики прекурсора для каждого модульного теста.
Действительно мне нужен какой-то механизм насмешки, но у меня пока не было большого опытафальшивые фреймворки, и кажется, что Google не возвращает ничего, кроме фальшивых фреймворков, которые можно использовать с MongoDB.
Что другие делают в этих ситуациях?То есть, как люди тестируют код модуля, который взаимодействует с базой данных?
Кроме того, мой общедоступный интерфейс подключается к базе данных, определенной во внешнем файле конфигурации - кажется неправильным использовать это соединение для моего модульного тестирования - сноваСитуация, которая выиграет от какого-то насмешки?