7

As of Surefire 2.14 the forkMode configuration setting has been deprecated. They even helpfully provide a mapping from some of the old settings to new settings here (http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html).

The problem is we use <forkMode>pertest</forkMode> which does not have a mapping on that page, and my google-fu is failing to find the appropriate updated configuration for it.

What is the appropriate forkCount, reuseForks, parallel and/or other configuration to replace the deprecated forkMode=pertest setting?

Digital Deception
  • 2,677
  • 2
  • 15
  • 24

2 Answers2

12

That isn't mentioned in the documentation, but <forkMode>pertest</forkMode> is the same as always forking. This is the check in the code:

if ( "pertest".equalsIgnoreCase( forkMode ) )
{
    return FORK_ALWAYS;
}

This synonym was made during resolution of the JIRA issue SUREFIRE-96, where, quoting Brett Porter:

pertest and perTest still work, but I've changed it to "always" which seems consistent with "once", and also changed "none" to "never".

As such, you should migrate your current configuration of <forkMode>pertest</forkMode> to forkCount=1 and reuseForks=false, like mentioned in Migrating the Deprecated forkMode Parameter to forkCount and reuseForks.

Tunaki
  • 132,869
  • 46
  • 340
  • 423
4

You need to replace

<forkMode>pertest</forkMode> 

with

<forkCount>1</forkCount>
<reuseForks>false</reuseForks>