今天在配置 springboot 的 sping boot data mongodb 的时候遇到了这个错误,纠结了很久
错误是在配置好后跑单元测试看是否连通时遇到的
@RunWith(SpringRunner::class)
@BootstrapWith(SpringBootTestContextBootstrapper::class)
@ContextConfiguration(classes = arrayOf(MongoDataSourceConfig::class))
class TestMongoTest {
@Autowired
lateinit var testMongoRepository: TestMongoRepository
@Test
fun test01() {
testMongoRepository.save(TestMongo(null, "lin"))
println(testMongoRepository.findAll())
}
}
最后发现原因在于 @ContextConfiguration(classes = arrayOf(MongoDataSourceConfig::class)) 这句配置应该用自己定义继承与 AbstractMongoConfiguration 的类 而不是 MongoDataAutoConfiguration
最后测试通过结果 [TestMongo(userId=592d3d00528feb29a893982d, userName=lin)]