Perché Maven fallendo con un SurefireExecutionException:> Non è possibile impostare l'opzione parallelo con il valore
Domanda
Ciao Sto lavorando attraverso il tutorial qui utilizza Windows XP e ultime versioni
http://binil.wordpress.com/2006/12/08/automated-smoke-tests-with-selenium-cargo-testng-and-maven/
Qualcuno potrebbe dirmi che cosa sono i tag.
<parallel>true</parallel>
<threadCount>10</threadCount>
Quando costruisco con questi tag inclusi ottengo un errore:
-------------------------------------------------------
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]
------------------------------------------------------------------------
Soluzione
Dalla documentazione infallibile-plugin :
parallelo (TestNG) Quando si utilizza l'attributo in parallelo, TestNG cercherà di eseguire tutti i vostri metodi di test in thread separati, tranne che per i metodi che dipendono l'uno dall'altro, che saranno eseguiti in stesso filo al fine di rispettare il loro ordine di esecuzione.
THREADCOUNT (TestNG solo) L'attributo thread-count consente di specificare quanti thread deve essere allocata per questa esecuzione. Solo senso da utilizzare in combinazione con parallelo.
V'è una sezione esecuzione di test in parallelo sul TestNG pagina della documentazione plugin. Per fare questo il plugin infallibile dovrebbe essere configurato in questo modo:
<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>
Altri suggerimenti
true
non è un valore valido per l'opzione parallel
; provare methods
( secondo la documentazione )
Questo potrebbe accadere anche se si utilizza una vecchia versione di TestNG.
Provare a aggiornare il tuo dipendenza TestNG, ad esempio:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.11</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
PS: Molte persone tipicamente utilizzare la versione 5.1
.Saluti
S. Ali Tokmen http://ali.tokmen.com/