我想为我的集成测试创建一个单独的项目。
我目前的结构是这样的(Maven项目):
my-project-parent
my-project-lib (jar)
my-project-web (war)
lib子项目内部是我项目的逻辑。 web子项目内部是与我的Servlet相关的所有内容。那里仍然有很多逻辑可以处理所有不同的请求。
子项目有单元测试。现在单元测试和集成测试在项目中被扰乱,很难看出它是单元测试还是集成测试。通过将集成测试放在一个单独的项目中,它还可以管理是否运行集成测试。
因此我想创建另一个带有所有集成测试的子项目(my-project-it)。
到目前为止,我有一个名为“my-project-it”的独立项目。我可以对lib子项目进行一些测试。我遇到的问题是我需要很多来自my-project-web的课程。我不能/不愿意把战争作为依赖。
任何人都可以帮我吗?
答案 0 :(得分:1)
关于与maven的集成测试,有一个(旧的)好wiki article。
我个人喜欢单独的模块,其中包含src/it/java
中的所有集成测试。可以使用maven build profile激活此模块。运行测试并使用failsafe plugin验证结果。
HTH,
- 马丁
答案 1 :(得分:0)
我会将my-project-it所需的所有类从my-project-web移动到my-project-jar并使其成为my-project-it依赖。
另一个选择是创建一个单独的my-project-it项目,而不是在src / test / java下为集成测试创建一个单独的包,并使用maven-failsafe-plugin http://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html执行它们