This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java.lang.Exception: No runnable methods | |
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:169) | |
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:104) | |
at org.junit.runners.ParentRunner.validate(ParentRunner.java:355) | |
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:76) | |
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57) | |
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) | |
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) | |
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) | |
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) | |
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) | |
at junit.framework.JUnit4TestAdapter.<init>(JUnit4TestAdapter.java:30) | |
at junit.framework.JUnit4TestAdapter.<init>(JUnit4TestAdapter.java:24) | |
at swift.client.SwiftConfigTest.suite(SwiftConfigTest.java:17) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
at org.junit.internal.runners.SuiteMethod.testFromSuiteMethod(SuiteMethod.java:35) | |
at org.junit.internal.runners.SuiteMethod.<init>(SuiteMethod.java:24) | |
at org.junit.internal.builders.SuiteMethodBuilder.runnerForClass(SuiteMethodBuilder.java:11) | |
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) | |
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) | |
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) | |
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) | |
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:43) | |
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) | |
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) |
Here is my code.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package swift.client; | |
import junit.framework.JUnit4TestAdapter; | |
import org.junit.Test; | |
import static org.hamcrest.CoreMatchers.is; | |
import static org.junit.Assert.assertThat; | |
/** | |
* @author BJ2(Joongjin Bae) | |
* @version $Rev: $Rev$ By $Author: BJ2 A.K.A. bae_joongjin $ | |
* $Date: 13/03/08 16:20 $ | |
* @since 13/03/08 | |
*/ | |
public class SwiftConfigTest { | |
public static junit.framework.Test suite() { | |
return new JUnit4TestAdapter(SwiftConfig.class); | |
} | |
@Test | |
public void testConfig() { | |
SwiftConfig config = new SwiftConfig(); | |
assertThat(config.getConnectionTimeout(), is(3000)); | |
} | |
} |
I googled and searched several pages.
http://stackoverflow.com/questions/15383387/no-runnable-methods-on-junit-with-custom-annotation-and-all-tests-filtered
It says
You get this error due to the validation performed in validateInstanceMethods
since computeTestMethods() returns an empty List:
He suggested override or remove List size validation. I couldn't agree with him. Cause I have run my test cases with no problem on other projects. I read my code and error message again.
at swift.client.SwiftConfigTest.suite(SwiftConfigTest.java:17)
I felt it weird. Because I don't need to run suite method. I removed suite method and ran all tests successfully.
Here is my right source code.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package swift.client; | |
import org.junit.Test; | |
import static org.hamcrest.CoreMatchers.is; | |
import static org.junit.Assert.assertThat; | |
/** | |
* @author BJ2(Joongjin Bae) | |
* @version $Rev: $Rev$ By $Author: BJ2 A.K.A. bae_joongjin $ | |
* $Date: 13/03/08 16:20 $ | |
* @since 13/03/08 | |
*/ | |
public class SwiftConfigTest { | |
@Test | |
public void testConfig() { | |
SwiftConfig config = new SwiftConfig(); | |
assertThat(config.getConnectionTimeout(), is(3000)); | |
} | |
} |