title: java.lang.Exception: No runnable methods exception in running JUnits
body: <p>I am trying to run the JUnit on my Linux command prompt <code>/opt/junit/</code> contains the necessary JARS(hamcrest-core-1.3.jar and junit.jar) and class files and I am using the following command to run the JUnit: </p>
  
  <pre><code>java -cp hamcrest-core-1.3.jar:junit.jar:. org.junit.runner.JUnitCore  TestRunner
  </code></pre>
  
  <p>TestJunit class:</p>
  
  <pre><code>import org.junit.Test;
  import static org.junit.Assert.assertEquals;
  public class TestJunit {
     @Test
     public void testAdd() {
        String str= "Junit is working fine";
        assertEquals("Junit is working fine",str);
     }
  }
  </code></pre>
  
  <p>TestRunner:</p>
  
  <pre><code>import org.junit.runner.JUnitCore;
  import org.junit.runner.Result;
  import org.junit.runner.notification.Failure;
  
  public class TestRunner {
     public static void main(String[] args) {
        Result result = JUnitCore.runClasses(TestJunit.class);
        for (Failure failure : result.getFailures()) {
           System.out.println("fail ho gaya"+failure.toString());
        }
        System.out.println("passed:"+result.wasSuccessful());
     }
  }  
  </code></pre>
  
  <p>I am getting the following exception on running this</p>
  
  <pre><code>JUnit version 4.11
  .E
  Time: 0.003
  There was 1 failure:
  1) initializationError(TestRunner)
  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.&lt;init&gt;(ParentRunner.java:76)
      at org.junit.runners.BlockJUnit4ClassRunner.&lt;init&gt;(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.runner.Computer.getRunner(Computer.java:40)
      at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)
      at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
      at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:101)
      at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:87)
      at org.junit.runners.Suite.&lt;init&gt;(Suite.java:80)
      at org.junit.runner.Computer.getSuite(Computer.java:28)
      at org.junit.runner.Request.classes(Request.java:75)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
      at org.junit.runner.JUnitCore.runMain(JUnitCore.java:96)
      at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:47)
      at org.junit.runner.JUnitCore.main(JUnitCore.java:40)
  
  FAILURES!!!
  Tests run: 1,  Failures: 1
  </code></pre>