Spring Boot测试:每个模块都有一个Application类是个好主意吗?

时间:2017-05-10 01:53:17

标签: java spring spring-mvc spring-boot spring-test

我的项目看起来像是

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将成为主要类。

但是,在运行测试时,我觉得需要添加PeristenceApplicationBusinessApplication才能运行使用@SpringBootTest注释的Spring测试。

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

如何使用@SpringBootTest测试我的模块,但*Application.javapersistence模块中不需要business

由于

1 个答案:

答案 0 :(得分:2)

我认为从十年前开始逐层解耦(水平)是过时的方法。我认为项目不应该是“逐层”结构,也不是“逐层”结构。

它应该按“逐个功能”或“逐个功能”或“按功能进行微服务”(垂直去耦)构建。

通过垂直去耦,您可以在集成测试中涵盖一个软件包/模块/微服务中的某些功能,您的考虑将自然消失。