Why is Maven failing with a SurefireExecutionException: > Cannot set option parallel with value
Solution 1
From the surefire-plugin documentation:
parallel (TestNG only) When you use the parallel attribute, TestNG will try to run all your test methods in separate threads, except for methods that depend on each other, which will be run in the same thread in order to respect their order of execution.
threadCount (TestNG only) The attribute thread-count allows you to specify how many threads should be allocated for this execution. Only makes sense to use in conjunction with parallel.
There is a section on running tests in parallel on the TestNG page of the plugin documentation. To do this your surefire plugin should be configured like this:
<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>
Solution 2
true
is not a valid value for the option parallel
; try methods
(as per the docs)
Solution 3
This might also happen if you use an old version of TestNG.
Try upgrading your dependency to TestNG, for example:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.11</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
PS: Many people would typically use version 5.1.
Cheers
S. Ali Tokmen http://ali.tokmen.com/
Ric
Updated on June 15, 2022Comments
-
Ric almost 2 years
Hi I am working through the tutorial here using windows XP and latest builds
http://binil.wordpress.com/2006/12/08/automated-smoke-tests-with-selenium-cargo-testng-and-maven/
Could someone please tell me what the tags are.
<parallel>true</parallel> <threadCount>10</threadCount>
When I build with these tags included I get a failure:
------------------------------------------------------- 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] ------------------------------------------------------------------------