繁体   English   中英

Java如何将maven子项目用于集成测试?

[英]Java How can I use a maven sub project for my integration tests?

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

我当前的结构是这样的(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的很多类。 我不能/不愿意把战争当作依赖。

谁能帮我这个?

有一篇(旧但不错的) Wiki文章,介绍了与maven的集成测试。

我个人更喜欢一个单独的模块,其中包含src/it/java中的所有集成测试。 可以使用Maven构建配置文件激活该模块。 运行测试,并使用failsafe插件验证结果。

hth,
-马丁

我会将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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM