2017-05-10 35 views
-1

我的项目看起来像Spring Boot Test:每个模块的Application类是否是一个好主意?

myProject/ 
     /persistence/pom.xml 
     /persistence/src/main/java/PersistenceApplication.java 
     /persistence/src/main/java/**.java 

     /business/pom.xml 
     /business/src/main/java/BusinessApplication.java 
     /business/src/main/java/**.java 

     /api/pom.xml 
     /api/src/main/java/ApiApplication.java 
     /api/src/main/java/**.java 

api取决于businessbusiness取决于persistence模块。在生产中运行时,ApiApplication将成为主要班级。

但是,在运行测试时,为了运行使用@SpringBootTest注释的Spring测试,我认为需要添加PeristenceApplicationBusinessApplication

这真的是一个要求吗?我对Spring-Boot了解不多,希望知道这里的建议是什么?

如何使用@SpringBootTest来测试我的模块,但不需要*Application.java中的persistencebusiness模块?

谢谢

+0

你喜欢正常的单元测试还是更多的集成测试? – Patrick

+0

更多单元测试 – daydreamer

回答

1

我相信,按层分离(水平)是十年前的过时方法。我相信项目不应该是“逐层”或“逐层”的结构。

它应该是“按功能打包”或“按功能模块”或“按功能分类的微服务”(垂直解耦)。

对于垂直去耦,您可以在集成测试中涵盖某个封装/模块/微服务中的某些功能,您的考虑将自然消失。

+0

您能否指导我获取相关资源?此外,即使在这种情况下,我们不会有多个“应用程序”?或者你说只有1个模块,有兴趣学习这种方法 – daydreamer

+0

默认方法是每个可部署单元具有单个“Application”配置类。要了解更多关于“按功能打包”和“逐层打包”的方法,只需Google即可。但这些不会是春天特定资源最有可能 – luboskrnac

+0

好吧。非常感谢 – daydreamer

相关问题