Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单元测试sprig数据mongodb客户转换器_Java_Spring_Mongodb_Spring Data Mongodb - Fatal编程技术网

Java 单元测试sprig数据mongodb客户转换器

Java 单元测试sprig数据mongodb客户转换器,java,spring,mongodb,spring-data-mongodb,Java,Spring,Mongodb,Spring Data Mongodb,我正在尝试单元测试spring数据mongodb自定义转换器。我在看文件。根据文档,AbstractMongoConfiguration类中应该有一个名为afterMappingMongoConverterCreation的方法,我们需要重写该方法来配置自定义转换器。有趣的是,在1.3.1版中找不到这种方法。(该文档适用于同一版本)该文档还讨论了MappingMongoConverter中名为SetCustomConverter的方法。我在MappingMongoConverter或它的超类中也

我正在尝试单元测试spring数据mongodb自定义转换器。我在看文件。根据文档,AbstractMongoConfiguration类中应该有一个名为afterMappingMongoConverterCreation的方法,我们需要重写该方法来配置自定义转换器。有趣的是,在1.3.1版中找不到这种方法。(该文档适用于同一版本)该文档还讨论了MappingMongoConverter中名为SetCustomConverter的方法。我在MappingMongoConverter或它的超类中也没有看到该方法。我是不是遗漏了什么?非常感谢您的帮助


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

看起来文档有点过时了。我用下面给定的代码修复了它

@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);
    }
}`
@enablemongorepositions
@ComponentScan(basePackageClasses={ItemRepository.class})
@PropertySource(“类路径:application.properties”)
静态类MongoConfiguration扩展了AbstractMongoConfiguration{
@凌驾
受保护的字符串getDatabaseName(){
返回“scrumretro测试”;
}
@凌驾
公共Mongo Mongo(){
返回新的Fongo(“mongo测试”).getMongo();
}
@凌驾
受保护的字符串getMappingBasePackage(){
返回“com.scrumretro.repository.mongo”;
}
@豆子
公共CustomConversions CustomConversions(){
列表>();
add(newitemWriteConverter());
返回新的自定义转换(转换器);
}
}`

看起来文档有点过时了。我用下面给定的代码修复了它

@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);
    }
}`
@enablemongorepositions
@ComponentScan(basePackageClasses={ItemRepository.class})
@PropertySource(“类路径:application.properties”)
静态类MongoConfiguration扩展了AbstractMongoConfiguration{
@凌驾
受保护的字符串getDatabaseName(){
返回“scrumretro测试”;
}
@凌驾
公共Mongo Mongo(){
返回新的Fongo(“mongo测试”).getMongo();
}
@凌驾
受保护的字符串getMappingBasePackage(){
返回“com.scrumretro.repository.mongo”;
}
@豆子
公共CustomConversions CustomConversions(){
列表>();
add(newitemWriteConverter());
返回新的自定义转换(转换器);
}
}`

customConversions是您必须使用的新方法customConversions是您必须使用的新方法