我正在尝试单元测试spring-data-mongodb自定义转换器。我正在关注this文件。根据文档,在AbstractMongoConfiguration类中应该有一个名为afterMappingMongoConverterCreation的方法,我们需要覆盖该方法来配置自定义转换器。有趣的是,在1.3.1版本中找不到该方法。 (该文档适用于同一版本)同一文档还讨论了MappingMongoConverter中名为setCustomConverters的方法。我没有在MappingMongoConverter或它的超类中看到该方法。我在这里错过了什么吗?任何帮助深表感谢。
如果文档过时,那么对客户转换器进行单元测试的最佳方法是什么? XML配置以外的任何选项?
答案 0 :(得分:1)
看起来该文档有点过时了。我使用下面给出的代码修复了它。
@EnableMongoRepositories
@ComponentScan(basePackageClasses = { ItemRepository.class })
@PropertySource("classpath:application.properties")
static class MongoConfiguration extends AbstractMongoConfiguration {
@Override
protected String getDatabaseName() {
return "scrumretro-test";
}
@Override
public Mongo mongo() {
return new Fongo("mongo-test").getMongo();
}
@Override
protected String getMappingBasePackage() {
return "com.scrumretro.repository.mongo";
}
@Bean
public CustomConversions customConversions() {
List<Converter<?, ?>> converters = new ArrayList<Converter<?, ?>>();
converters.add(new ItemWriteConverter());
return new CustomConversions(converters);
}
}`