【发布时间】:2015-03-17 16:24:00
【问题描述】:
我的问题是关于测试多模块 Spring 启动应用程序。
我有一个多模块 Spring Boot REST 应用程序。该应用程序的结构如下:
**SpringbootMainApplication
--src/main/java
--org.test
+Springbootapplicationinitializer.java //Annotated with @SpringBootApplication
--org.test.controller
--org.test.service
--org.test.dao
SpringbootModule
--src/main/java
--org.module
+SpringModuleInitializer.java //Annotated with @SpringBootApplication
--org.module.controller
--org.module.service
--org.module.dao**
以上是我的应用程序的结构。
SpringBootMainApplication 是主项目。 SpringbootModule 是 SpringBootMainApplication 内部的子项目。 "SpringBootMainApplication.war" WAR 将在 WAR 中使用 "SpringbootModule.jar" 构建。
我对这两个项目都有单独的测试用例。我想让这些项目单独测试。 我的意思是,我的 SpringBootMainApplication 测试用例在执行测试用例时应该使用“Springbootapplicationinitializer.java”,而我的 SpringBootModule 测试用例在执行测试用例时应该使用“SpringModuleinitializer.java”。但是当它被打包成 WAR 并且 SpringModuleInitializer.java 不应该发挥作用或不应该有任何影响。
有什么方法可以实现吗?或者我应该完全避免 SpringModuleInitializer.java,只在模块中执行单元测试,只使用 Springbootapplicationinitializer.java 进行集成测试。
如果有任何帮助,我正在使用 gradle 进行构建和打包。
【问题讨论】:
标签: java unit-testing gradle integration-testing spring-boot