Я хотел бы настроить тест (модульный или интеграционный) для запроса mongo. Я хочу протестировать следующую функцию:
public ArrayList<Document> search(){
Document textSearch = new Document("$text",new
Document("$search",text));
return randomCollection.find(textSearch).into(new ArrayList<Document>());
}
Я использую MongoTemplate, чтобы получить коллекцию монго randomCollection

@SpringBootTest можно использовать для начальной загрузки всех ваших конфигураций Spring. Если вы напишете тест (что вы всегда должны делать, ваш тест будет выглядеть примерно так):
@RunWith(SpringRunner.class)
@SpringBootTest
public class SomeArbitraryTests {
@Autowired
private ArbitraryResource someResource;
@Test
public void someTest() {
someResource.search(...);
// assertions
}
}
Если вы хотите добавить Embedded Mongodb для целей тестирования, вы можете добавить в свой проект некоторые дополнительные зависимости:
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>test</scope>
</dependency>
Надеюсь это поможет!
спасибо за ваш ответ, у меня все еще есть что-то неясное: я использую аннотированный класс @Configuration, чтобы получить bean-компонент mongo в службе, как мне переключить реальное mongo в службе со встроенным mongo, чтобы я мог протестировать службу, и это то, что вы предложили для интеграционного теста?