单元测试弹簧数据mongodb定制转换器

时间:2013-10-29 17:32:29

标签: java spring mongodb spring-data-mongodb

我正在尝试单元测试spring-data-mongodb自定义转换器。我正在关注this文件。根据文档,在AbstractMongoConfiguration类中应该有一个名为afterMappingMongoConverterCreation的方法,我们需要覆盖该方法来配置自定义转换器。有趣的是,在1.3.1版本中找不到该方法。 (该文档适用于同一版本)同一文档还讨论了MappingMongoConverter中名为setCustomConverters的方法。我没有在MappingMongoConverter或它的超类中看到该方法。我在这里错过了什么吗?任何帮助深表感谢。

如果文档过时,那么对客户转换器进行单元测试的最佳方法是什么? XML配置以外的任何选项?

1 个答案:

答案 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);
    }
}`