我在将单片应用程序重构为多模块结构时遇到了麻烦:
-\
+ core (jpa domain entities, services, ...)
+ command-line-utils
+ web-app
我已经移动了类并配置了pom文件,以便所有内容都能编译并且Web应用程序正确执行。
我无法理解如何进入核心模块我最初的基本junit测试:我不能停止有关丢失@Autowired存储库的错误。
据我所知,我可能应该在核心模块中定义某种配置类(?)(除了属性文件中的datasource参数之外,我没有任何关于原始moloc中持久性的特殊配置)
答案 0 :(得分:0)
您可以在JUnit测试中定义配置。使用@RunWith(SpringJUnit4ClassRunner.class)
包中的@ContextConfiguration
和org.springframework.test.context
注释。
在测试中,您可以根据需要使用Mocks和静态类中的实际类来定义配置,例如
@Configuration
public static class Config {
@Bean
public RestOperations restTemplate() {
return mock(RestOperations.class);
}
....
}
答案 1 :(得分:0)
我已解决(此问题)在测试类中使用@SpringbootApplication
引用的src/test/java
中定义@SpringApplicationConfiguration(class = MyTestApp.class )
带注释的类。
通过这种方式,通常的spring-boot magic :-)
可以正常工作。