多模块弹簧启动JPA应用程序

多模块弹簧启动JPA应用程序

问题描述:

我就麻烦了重构单片应用到多模块结构:多模块弹簧启动JPA应用程序

-\ 
+ core (jpa domain entities, services, ...) 
+ command-line-utils 
+ web-app 

我搬到类和配置的POM文件,使一切编译和Web应用程序正确执行。

我不明白如何进入核心模块的基本junit测试,我原来有:我不能停止有关丢失@Autowired存储库的错误。我知道我可能应该在核心模块中定义某种配置类(?)(我没有关于除了属性文件中的数据源参数之外的原始moloc中的持久性的任何特殊配置)。

+0

您可以通过配置注释配置配置类上的所有bean,然后使用bean声明每个bean或在您尝试自动装配的每个类上添加服务(假设您的配置正在扫描您尝试的所有类自动装配 – jpganz18

我已经解决了(这个问题)定义在src/test/java一个@SpringbootApplication注解类测试类,@SpringApplicationConfiguration(class = MyTestApp.class)引用。

通过这种方式,通常的弹簧启动魔术:-)工作正常。

您可以在JUnit测试中定义配置。使用来自org.springframework.test.context包的@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration注释。

在您的测试中,您可以根据需要使用Mock和静态类中的实际类定义配置,例如,

@Configuration 
    public static class Config { 

     @Bean 
     public RestOperations restTemplate() { 
      return mock(RestOperations.class); 
     } 

     .... 
    }