[英]Skip integration tests in maven by directory
我们的项目结构看起来像这样(抱歉格式化):
server/
pom.xml
src/
main/
java/
test/
java/
it/
java/
我想mvn clean test
跳过它/ java中的所有测试而不管测试的名称。 我看到的解决方案依赖于集成测试在不同的包中或在名称上有一些前缀来表明它们是集成测试。
有没有办法在运行mvn clean test
时排除它/ java运行? 最终,我们希望能够通过运行mvn integration-test来运行集成测试。
你最好的可能是使它成为一个多模块项目,然后在它模块中跳过基于不同maven属性的测试。 这将为您提供所需的灵活性。
我不认为src / it / java是maven已知的文件夹,所以如果你把测试放在那里,它们会被忽略,因为它是一个随机文件夹到maven? :)
无论如何。 为了执行集成测试,我建议使用为此构建的maven-failsafe-plugin: http : //maven.apache.org/surefire/maven-failsafe-plugin/它还依赖于一些命名约定来区分集成测试标准但我可以重新配置testSourceDirectory。 但我认为如果你改变那个文件夹可能需要首先编译类(但这应该是可能的)。
然后将单元测试配置为由maven-surefire-plugin执行。
我通常会使用surefire-plugin执行所有测试但排除IntegrationTests(使用配置中的模式)和failsafe-plugin包括那些但排除标准测试。 但我的测试名称不同,所以我可以使用文件夹的约定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.