【发布时间】:2016-10-16 19:01:46
【问题描述】:
我想构建 WAR,然后在该 WAR 上运行 JUnit 测试。这可能吗?
我的 pom 中有关注者。为了实现,我应该做出哪些改变?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin-version}</version>
<configuration>
<webXml>WEB-INF/web.xml</webXml>
<webResources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
</resource>
<resource>
<directory>${basedir}/src/main/sqls</directory>
<targetPath>WEB-INF/classes</targetPath>
</resource>
</webResources>
<outputFileNameMapping>@{groupId}@.@{artifactId}@-@{version}@.@{extension}@</outputFileNameMapping>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin-version}</version>
<configuration>
<argLine>-Xms256m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:GCTimeRatio=19
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4
-XX:NewRatio=2 ${jvm.args.preferences} ${jvm.args.jacoco}</argLine>
</configuration>
</plugin>
【问题讨论】:
-
如果你想对打包的项目进行测试,你应该编写集成测试。
-
使用 maven-failsafe-plugin 而不是 maven-surefire 因为你正在做的是集成测试而不是单元测试。除此之外,我建议将集成测试放入单独的模块中。然后您的集成测试将在打包后运行(使用
mvn clean verify)。
标签: maven maven-2 maven-3 maven-plugin