We have a profile created in maven to run the Selenium junit4 type tests, and below is a fragment of it without an execution tag.
<profile> <id>selenium-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.11</version> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>2.11</version> </dependency> </dependencies> <configuration> <parallel>classes</parallel> <threadCount>5</threadCount> <forkMode>pertest</forkMode> <useManifestOnlyJar>false</useManifestOnlyJar> <redirectTestOutputToFile>true</redirectTestOutputToFile> <skip>false</skip> <includes> <include>**/regtests/*.java</include> </includes> </configuration> </plugin> </plugins> </build> </profile>
And my TestClass looks like this.
@RunWith(HTMLSourceDumperJUnit4Runner.class) //Our own Runner public class MyTestClass extends Assert { private int x = 1; private int y = 1; @Test public void testAddition() { int z = x + y; assertEquals(2, z); } }
When I run this test class through a fail-safe plugin 2.11 with a parallel configuration, it fails with the following error.
java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods (BlockJUnit4ClassRunner.java:171)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors (BlockJUnit4ClassRunner.java:115)
at org.junit.runners.ParentRunner.validate (ParentRunner.java:269)
at org.junit.runners.ParentRunner. (ParentRunner.java:66)
at org.junit.runners.BlockJUnit4ClassRunner. (BlockJUnit4ClassRunner.java:59)
at org.junit.internal.builders.JUnit4Builder.runnerForClass (JUnit4Builder.java:13)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass (AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runner.Computer.getRunner (Computer.java:38)
at org.apache.maven.surefire.junitcore.ConfigurableParallelComputer.getRunner (ConfigurableParallelComputer.java:142)
at org.junit.runner.Computer $ 1.runnerForClass (Computer.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:57)
at org.junit.runners.model.RunnerBuilder.runners (RunnerBuilder.java:93)
at org.junit.runners.model.RunnerBuilder.runners (RunnerBuilder.java:84)
at org.junit.runners.Suite. (Suite.java:79)
at org.junit.runner.Computer.getSuite (Computer.java:26)
at org.apache.maven.surefire.junitcore.ConfigurableParallelComputer.getSuite (ConfigurableParallelComputer.java:134)
at org.junit.runner.Request.classes (Request.java:69)
at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute (JUnitCoreWrapper.java:53)
at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke (JUnitCoreProvider.java:140)
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∗97)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray (ReflectionUtils.java:188)
at org.apache.maven.surefire.booter.ProviderFactory $ ProviderProxy.invoke (ProviderFactory.java:166)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider (ProviderFactory.java:86)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java:74)
Is there something that I am missing here. If I refuse any information for this message, send a message.
source share