Maven surefire forkMode устарел. Каковы новые настройки?

#java #maven #automated-tests #maven-surefire-plugin #surefire

#java #maven #автоматизированные тесты #maven-surefire-plugin #верный

Вопрос:

Начиная с версии Surefire 2.14 forkMode , параметр конфигурации устарел. Они даже помогают обеспечить сопоставление некоторых старых настроек с новыми настройками здесь (http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html).

Проблема в том, что мы используем <forkMode>pertest</forkMode> , который не имеет сопоставления на этой странице, и мой google-fu не может найти для него подходящую обновленную конфигурацию.

Какая подходящая forkCount , reuseForks , parallel и / или другая конфигурация для замены устаревшего forkMode=pertest параметра?

Комментарии:

1. Уверен, что это то же parallel=classesAndMethods самое, что и .

Ответ №1:

Это не упоминается в документации, но <forkMode>pertest</forkMode> это то же самое, что и всегда разветвляется. Это проверка в коде:

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

Этот синоним был создан во время решения проблемы JIRA SUREFIRE-96, где, цитируя Бретта Портера:

pertest и perTest все еще работают, но я изменил их на «всегда», что, похоже, соответствует «один раз», а также изменил «нет» на «никогда».

Таким образом, вы должны перенести свою текущую конфигурацию <forkMode>pertest</forkMode> в forkCount=1 и reuseForks=false , как указано в Переносе устаревшего параметра forkMode в forkCount и reuseForks .

Ответ №2:

Вам нужно заменить

 <forkMode>pertest</forkMode> 
  

с

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