Java 我可以有选择地禁用Spring数据存储库进行测试吗?
我正在为使用Spring集成的系统编写模块级集成测试。我需要启动并运行集成计划,但在这个级别上,我仍然使用Java 我可以有选择地禁用Spring数据存储库进行测试吗?,java,spring,integration-testing,spring-data,Java,Spring,Integration Testing,Spring Data,我正在为使用Spring集成的系统编写模块级集成测试。我需要启动并运行集成计划,但在这个级别上,我仍然使用MockMvc和模拟存储库接口,以确保所有映射、转换和消息路由都正确 现在,我的模块级Enable配置使用@enablemongorepositionals进行元注释,Spring测试运行程序中止,因为它没有一个活动的mongoTemplate来创建存储库;模拟存储库不会阻止创建真实存储库的尝试 我知道我可以将@enablemongoreposities的包含条件化,但是如果我已经在为Spr
MockMvc
和模拟存储库接口,以确保所有映射、转换和消息路由都正确
现在,我的模块级Enable
配置使用@enablemongorepositionals
进行元注释,Spring测试运行程序中止,因为它没有一个活动的mongoTemplate
来创建存储库;模拟存储库不会阻止创建真实存储库的尝试
我知道我可以将
@enablemongoreposities
的包含条件化,但是如果我已经在为Spring Data提供模拟,有没有更简单的方法告诉他们不要创建存储库代理?基本上,如果我理解正确,您有两种针对MongoDB存储库的设置,mock
和live
。因此,您希望运行集成测试并控制正在使用的存储库。我建议使用“弹簧配置文件”
MongodbCofig
mock
和live
包装两个配置类。确保这些类实现了MongodbConfig
。在两个类中设置配置文件(@profiles
)关于配置文件的详细理解,您可以参考配置文件不是我想要的,因为这是我试图避免的。