Полагаю, я (и под этим я подразумеваю, что это то, что я сделал, но есть шанс, что у кого-то есть лучшая идея) напишу какой-нибудь MongoTestHelper, который может делать множество вещей на разных этапах ваши тесты.
Перед запуском теста он проверяет, работает ли экземпляр test mongod, и, если нет, загружает его на ваш любимый порт test-mongo. Я считаю, что на самом деле не так уж и дорого просто попытаться загрузить новый экземпляр mongod и позволить ему выйти из строя, так как этот порт уже используется. Однако в Windows это сильно отличается, поэтому вы можете проверить, открыт ли порт или что-то в этом роде.
Перед каждым отдельным тестом вы можете удалить все элементы из всех протестированных коллекций, если это именно то, что вам нужно. На самом деле, я просто отбрасываю все базы данных, так как прекрасный mongodb воссоздает их для вас:
for (String name : mongo.getDatabaseNames()) {
mongo.dropDatabase(name);
}
После запуска тестов вы всегда можете выключить его, если выбрали загрузку с произвольного порта, но это выглядит немного глупо. Жизнь слишком коротка.