spring mongo查询测试

时间:2018-05-01 00:23:04

标签: 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<Document>());
    }

我使用MongoTemplate来获取mongo集合randomCollection

1 个答案:

答案 0 :(得分:0)

@SpringBootTest可用于引导所有Spring配置。如果你要编写一个测试(你应该总是这样做,你的测试看起来会像这样):

@RunWith(SpringRunner.class)
@SpringBootTest
public class SomeArbitraryTests {

    @Autowired
    private ArbitraryResource someResource;

    @Test
    public void someTest() {
        someResource.search(...);
        // assertions
    }
}

如果您想为测试目的添加嵌入式Mongodb,那么您可能希望为项目添加一些额外的依赖项:

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

希望这有帮助!