我正在为使用Spring Integration的系统编写模块级集成测试。我需要启动并运行集成计划,但在此级别仍然使用MockMvc
和模拟的存储库接口,以确保我的所有映射,转换和消息路由都正确。
现在,我的模块级Enable
配置使用@EnableMongoRepositories
进行元注释,Spring测试运行器因为没有实时创建mongoTemplate
而中止来自的存储库;模拟存储库不会阻止尝试创建真实存储库。
我知道我可以条件化包含@EnableMongoRepositories
,但是如果我已经为它们提供了模拟,那么是否有更简单的方法告诉Spring Data不要创建存储库代理?
答案 0 :(得分:0)
基本上,如果我理解正确,您可以为MongoDB存储库设置两种类型,mock
和live
。因此,您希望运行集成测试并控制正在使用的存储库。我建议使用" Spring Profiles"。
MongodbCofig
mock
和live
创建了两个配置类。确保这些类实现MongodbConfig
。在两个类中设置配置文件(@Profiles
)。有关配置文件的详细信息,请参阅here