我正在开发一个包含子模块的spring应用程序,大致如下所示:
项目
|-- module1
||-- src
|| -- main
|| |-- java
|| -- resources
|| |-- null
|| -- pom.xml
第2单元:
|-- module2
| |-- src
| | -- main
| | |-- java
| | -- resources
| | -- spring-dao.xml
| -- pom.xml
-- pom.xml
现在,我正在使用Juit4来测试module1,而我必须在module1中提供spring-dao.xml
,如下所示:
@ContextConfiguration({"classpath*:spring/spring-dao.xml"})
但是spring配置文件(spring-dao.xml
)在module2中,而module2依赖于module1。这导致我无法通过module1的pom.xml将module2.jar放入module1,因为它会导致模块循环。
如何测试module1?
答案 0 :(得分:0)
我不确定我完全理解,但这是我读它的方式:
模块1依赖于模块2,而模块2依赖于模块1。
简短的回答是你不能这样做。模块背后的想法是隔离不相关的代码。我经常使用生成的代码执行此操作,将其保存在单独的模块中。生成的代码不应该对我的主应用程序有任何依赖性,但我的主应用程序依赖于生成的代码。
我可以想到几个解决方案:
如果两个模块彼此严重依赖,则应将它们重构为单个模块。根据您所描述的内容,这似乎是最好的方法。
如果仍然不希望这样做,请创建第三个模块以保持两个项目之间的公共依赖关系。