Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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 我可以有选择地禁用Spring数据存储库进行测试吗?_Java_Spring_Integration Testing_Spring Data - Fatal编程技术网

Java 我可以有选择地禁用Spring数据存储库进行测试吗?

Java 我可以有选择地禁用Spring数据存储库进行测试吗?,java,spring,integration-testing,spring-data,Java,Spring,Integration Testing,Spring Data,我正在为使用Spring集成的系统编写模块级集成测试。我需要启动并运行集成计划,但在这个级别上,我仍然使用MockMvc和模拟存储库接口,以确保所有映射、转换和消息路由都正确 现在,我的模块级Enable配置使用@enablemongorepositionals进行元注释,Spring测试运行程序中止,因为它没有一个活动的mongoTemplate来创建存储库;模拟存储库不会阻止创建真实存储库的尝试 我知道我可以将@enablemongoreposities的包含条件化,但是如果我已经在为Spr

我正在为使用Spring集成的系统编写模块级集成测试。我需要启动并运行集成计划,但在这个级别上,我仍然使用
MockMvc
和模拟存储库接口,以确保所有映射、转换和消息路由都正确

现在,我的模块级
Enable
配置使用
@enablemongorepositionals
进行元注释,Spring测试运行程序中止,因为它没有一个活动的
mongoTemplate
来创建存储库;模拟存储库不会阻止创建真实存储库的尝试


我知道我可以将
@enablemongoreposities
的包含条件化,但是如果我已经在为Spring Data提供模拟,有没有更简单的方法告诉他们不要创建存储库代理?

基本上,如果我理解正确,您有两种针对MongoDB存储库的设置,
mock
live
。因此,您希望运行集成测试并控制正在使用的存储库。我建议使用“弹簧配置文件”

  • 创建一个简单的界面,比如说
    MongodbCofig
  • mock
    live
    包装两个配置类。确保这些类实现了
    MongodbConfig
    。在两个类中设置配置文件(
    @profiles
  • 稍后在运行测试之前激活所需的配置文件

  • 关于配置文件的详细理解,您可以参考

    配置文件不是我想要的,因为这是我试图避免的。