首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在fongo中使用存储库填充器bean吗?

我可以在fongo中使用存储库填充器bean吗?
EN

Stack Overflow用户
提问于 2017-06-02 07:06:56
回答 1查看 293关注 0票数 0

我使用Fongo不仅用于单元测试,而且用于集成测试,因此我想使用一些集合初始化Fongo,这可能吗?

这是我的java配置(based on Oliver G. answer):

代码语言:javascript
复制
@EnableAutoConfiguration(exclude = { 
    EmbeddedMongoAutoConfiguration.class,
    MongoAutoConfiguration.class,
    MongoDataAutoConfiguration.class
})
@Configuration
@ComponentScan(basePackages = { "com.foo" },
    excludeFilters = { @ComponentScan.Filter(classes = { SpringBootApplication.class }) 
})
public class ConfigServerWithFongoConfiguration extends AbstractFongoBaseConfiguration {

    private static final Logger log = LoggerFactory.getLogger(ConfigServerWithFongoConfiguration.class);

    @Autowired
    ResourcePatternResolver resourceResolver;

    @Bean
    public Jackson2RepositoryPopulatorFactoryBean repositoryPopulator() {

        Jackson2RepositoryPopulatorFactoryBean factory = new Jackson2RepositoryPopulatorFactoryBean();
        try {
            factory.setResources(resourceResolver.getResources("classpath:static/collections/*.json"));
        } catch (IOException e) {
            log.error("Could not load data", e);
        }
        return factory;
    }

}

当我运行IT测试时,日志上显示为Reading resource: file *.json,但是测试失败了,因为它们没有从Fongo数据库中检索到任何(null)信息。

测试的注释如下:

代码语言:javascript
复制
@RunWith(SpringRunner.class)
@SpringBootTest(classes={ConfigServerWithFongoConfiguration.class})
@AutoConfigureMockMvc
@TestPropertySource(properties = {"spring.data.mongodb.database=fake"})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-02 07:57:04

哈哈,我现在觉得很蠢。是格式问题。JSON集合的格式必须如下:

代码语言:javascript
复制
[
  {/*doc1*/},
  {/*doc2*/},
  {/*doc3*/}
]

我错过了[]和逗号分隔的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44322820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档