Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb springmongo查询测试_Mongodb_Spring Boot_Spring Boot Test - Fatal编程技术网

Mongodb springmongo查询测试

Mongodb springmongo查询测试,mongodb,spring-boot,spring-boot-test,Mongodb,Spring Boot,Spring Boot Test,我想为mongo查询设置一个测试(单元或集成测试)。 我想测试以下功能: public ArrayList<Document> search(){ Document textSearch = new Document("$text",new Document("$search",text)); return randomCollection.find(textSearch).into(new ArrayList<Doc

我想为mongo查询设置一个测试(单元或集成测试)。 我想测试以下功能:

 public ArrayList<Document> search(){ 
         Document textSearch = new Document("$text",new 
         Document("$search",text));
         return randomCollection.find(textSearch).into(new ArrayList<Document>());
    }
public ArrayList search(){
文档文本搜索=新文档($text),新
文件(“$search”,文本));
将randomCollection.find(textSearch.into)返回到(newarraylist());
}

我使用MongoTemplate获取mongo集合randomCollection可用于引导所有Spring配置。如果您将编写一个测试(您应该一直这样做,您的测试将如下所示):

如果您想添加一个嵌入式Mongodb用于测试目的,那么您可能需要向项目中添加一些其他依赖项:

<dependency>
    <groupId>de.flapdoodle.embed</groupId>
    <artifactId>de.flapdoodle.embed.mongo</artifactId>
    <scope>test</scope>
</dependency>

de.flapdoodle.embed
de.flapdoodle.embed.mongo
测试

希望这有帮助

谢谢你的回答,我还有一些不清楚的地方:我使用@Configuration注释类在服务中获得mongo bean,我如何将服务中真正的mongo与嵌入式mongo切换,以便能够测试服务,这是你建议的集成测试吗?
<dependency>
    <groupId>de.flapdoodle.embed</groupId>
    <artifactId>de.flapdoodle.embed.mongo</artifactId>
    <scope>test</scope>
</dependency>