Тестирование запросов Spring mongo

Я хотел бы настроить тест (модульный или интеграционный) для запроса mongo. Я хочу протестировать следующую функцию:

 public ArrayList<Document> search(){ 
         Document textSearch = new Document("$text",new 
         Document("$search",text));
         return randomCollection.find(textSearch).into(new ArrayList<Document>());
    }

Я использую MongoTemplate, чтобы получить коллекцию монго randomCollection

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
0
36
1

Ответы 1

@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, чтобы я мог протестировать службу, и это то, что вы предложили для интеграционного теста?

user1796624 02.05.2018 01:44

Другие вопросы по теме