我有
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
在我的pom.xml中,所以我的Spring Boot应用程序在应用程序启动时尝试连接到localhost上的MongoDB。
我也有
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>test</scope>
</dependency>
所以当我运行单元测试时,会使用嵌入式MongoDb。
出于集成测试的目的,如果应用程序以“test”活动配置文件启动,我还想使用嵌入式MongoDB。
如此有效,我想从嵌入依赖项中删除<scope>test</scope>
,并在活动配置文件为'test'时使用嵌入版本。
我怎样才能做到这一点?
答案 0 :(得分:1)
您可能正在寻找的解决方案是添加配置文件排除嵌入式mongo数据库。尝试执行以下步骤:
为生产,泊坞窗或任何适合您的内容创建配置文件,并在此配置文件中确保您在yml(或属性文件)中添加以下条目:
spring.autoconfigure.exclude:org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration
请记住,嵌入式mongo现在在您的类路径中,这对于生产环境可能是不需要的,因此您可能还希望将maven配置为在某些maven配置文件中排除它。
答案 1 :(得分:-1)