我的项目看起来像是
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
取决于business
,business
取决于persistence
模块。在生产中运行时,ApiApplication
将成为主要类。
但是,在运行测试时,我觉得需要添加PeristenceApplication
和BusinessApplication
才能运行使用@SpringBootTest
注释的Spring测试。
这真的是一个要求吗?我对Spring-Boot
了解不多,我很想知道这里的建议是什么?
如何使用@SpringBootTest
测试我的模块,但*Application.java
和persistence
模块中不需要business
?
由于
答案 0 :(得分:2)
我认为从十年前开始逐层解耦(水平)是过时的方法。我认为项目不应该是“逐层”结构,也不是“逐层”结构。
它应该按“逐个功能”或“逐个功能”或“按功能进行微服务”(垂直去耦)构建。
通过垂直去耦,您可以在集成测试中涵盖一个软件包/模块/微服务中的某些功能,您的考虑将自然消失。