Por que é Maven falhando com um SurefireExecutionException:> Não é possível conjunto de opções paralelo com valor
Pergunta
Oi Eu estou trabalhando com o tutorial aqui usando o windows XP e mais recente constrói
http://binil.wordpress.com/2006/12/08/automated-smoke-tests-with-selenium-cargo-testng-and-maven/
Alguém poderia me dizer o que as marcas são.
<parallel>true</parallel>
<threadCount>10</threadCount>
Quando eu construir com estas tags incluído eu recebo uma falha:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
org.apache.maven.surefire.booter.SurefireExecutionException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null; nested exception is
org.apache.maven.surefire.util.NestedRuntimeException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null
org.apache.maven.surefire.util.NestedRuntimeException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null
java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.testng.conf.AbstractDirectConfigurator$Setter.invoke(AbstractDirectConfigurator.java:117)
at
org.apache.maven.surefire.testng.conf.AbstractDirectConfigurator.configure(AbstractDirectConfigurator.java:63)
at
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:71)
at
org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
at
org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by:
java.lang.NullPointerException at
org.testng.TestNG.setParallel(TestNG.java:347)
... 15 more [INFO]
------------------------------------------------------------------------
[ERROR] BUILD FAILURE [INFO]
------------------------------------------------------------------------
Solução
A partir do href="http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html" rel="noreferrer"> documentação :
paralelo (TestNG apenas) Quando você usar o atributo paralelo, TestNG vai tentar executar todos os seus métodos de teste em segmentos separados, exceto para métodos que dependem uns dos outros, que serão executados em segundo mesmo segmento, a fim de respeitar a sua ordem de execução.
threadcount (TestNG apenas) O atributo de contagem de threads permite que você especifique quantos segmentos devem ser alocados para essa execução. Só faz sentido usar em conjunto com paralelo.
Há uma seção sobre a execução de testes em paralelo no TestNG página da documentação plugin. Para fazer isso o seu infalível plug-in deve ser configurado como este:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<parallel>methods</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
Outras dicas
true
não é um valor válido para o parallel
opção; tente methods
( de acordo com os docs )
Este também pode acontecer se você usar uma versão antiga do TestNG.
Tente atualizar a sua dependência para TestNG, por exemplo:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.11</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
PS:. Muitas pessoas normalmente usam a versão 5.1
Felicidades
S. Ali Tokmen http://ali.tokmen.com/