【发布时间】:2011-03-12 06:44:03
【问题描述】:
默认情况下,maven surefile 插件在隔离(分叉)环境中运行测试。您可以使用以下配置覆盖此行为:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>never</forkMode>
</configuration>
</plugin>
</plugins>
</build>
如果你需要调试你的测试,你应该使用这个配置 sn-p。或者你可以简单地运行 maven build 如下方式:
$ mvn -Dmaven.surefire.debug tests
这将在端口 5005 上启动调试器。
我的问题是:分叉策略有什么好处,为什么选择作为 Maven 构建的默认策略?非分叉策略不是更直接,因此应该用作默认策略(maven 是约定优于配置工具,对吧)?
【问题讨论】:
-
请注意,
forkMode现在已弃用,应改为使用reuseForks -
其实我认为
forkCount=0是现在应该用来禁用新的JVM 启动。 maven.apache.org/surefire/maven-surefire-plugin/…