Java如何使用maven子项目进行集成测试?

时间:2013-07-23 10:13:47

标签: java maven integration-testing

我想为我的集成测试创建一个单独的项目。

我目前的结构是这样的(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的课程。我不能/不愿意把战争作为依赖。

任何人都可以帮我吗?

2 个答案:

答案 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执行它们