首页 > 解决方案 > 使用 DataMongoTest 注释的测试最后不会终止嵌入式 MongoDB

问题描述

我通过实验注意到,任何带有注释的集成测试类@DataMongoTest都不会杀死它使用的嵌入式 MongoDB 实例。要杀死嵌入式实例,我必须使用 annotation 注释测试@DirtiesContext(classMode = ClassMode.AFTER_CLASS)

@RunWith(SpringRunner.class)
@DataMongoTest
@ContextConfiguration(classes = {MyRepositoryIT.class})
@EnableAutoConfiguration
@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
public class MyRepositoryIT{
   // The tests
}

当您使用 Maven 运行长的测试管道时,这个问题就会凸显出来。仅当整个测试过程终止时,嵌入式 Mongo 实例才会被终止。

这是对的吗?我做错了什么吗?

我正在使用 Spring Boot 2.2.10、fladdoodle 库、JUnit 4 和 MongoDB 版本 4.0.2。我正在Windows下构建系统。

标签: javamongodbspring-bootspring-data-mongodbflapdoodle-embed-mongo

解决方案


推荐阅读