Я думаю, что я (и этим я имею в виду, это то, что я сделал, но есть все шансы, что у кого-то есть лучшая идея) напишите какой-то MongoTestHelper, который может делать несколько вещей на разных этапах ваших тестов.
Перед испытательным запуском он проверяет, что экземпляр test mongod запущен и, если нет, загружает его на свой любимый порт test-mongo. Я считаю, что на самом деле это не так дорого, просто попробуйте и загрузите новый экземпляр mongod и дайте ему потерпеть неудачу, поскольку этот порт уже используется. Однако это очень сильно отличается от окон, поэтому вы можете проверить, что порт открыт или что-то в этом роде.
Перед каждым отдельным тестом вы можете удалить все предметы из всех проверенных коллекций, если это то, что вам нужно. На самом деле, я просто все бросить ДЕЦИБЕЛЫ, как прекрасный MongoDB будет воссоздать их для вас:
for (String name : mongo.getDatabaseNames()) {
mongo.dropDatabase(name);
}
После испытания запуска вы всегда можете выключить его, если вы выбрали для загрузки на случайный порт , но это кажется немного глупым. Жизнь слишком коротка.
Вы хотите запустить тестовый запрос перед запуском каждого отдельного теста? – azamsharp
нет, после перезапуска базы данных, чтобы вы знали, что она запущена до запуска unittests. Я хочу включить его в ту же процедуру, которая запускает базу данных. –
Я не понимаю, что вы подразумеваете при запуске базы данных! У меня нет базы данных. Это база данных MongoDb, для которой требуется запуск сервера. Я могу положить задержку после запуска сервера, но это выглядит странно! – azamsharp