Ant JUnit错误没有runnable方法。 initializationError

时间:2015-06-16 20:28:39

标签: java ant junit junit4

通过Ant运行JUnit,我们得到了这个错误,关于编写了多少。我们仔细检查了我们在之前关于此错误的问题中看到的所有建议,似乎我们在测试类中获得了所需的一切,一个公共的无参数构造函数和一个带有@Test注释的单个方法! / p>

Testsuite: sim.V
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.016 sec

Testcase: initializationError took 0.002 sec
    Caused an ERROR
No runnable methods
java.lang.Exception: No runnable methods
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)


Testsuite: simvim

这是我们的Ant构建XML文件:

<target name="junit" depends="build">
  <junit fork="no" printsummary="withOutAndErr">
     <test name="sim.V" outfile="TB" />
     <formatter usefile="true" type="plain"/>
     <classpath>
       <pathelement path="/afs/cad.njit.edu/u/j/g/jg284/libs/junit.jar"/>
       <pathelement path="/afs/cad.njit.edu/u/j/g/jg284/libs/hamcrest-core-1.3.jar"/>

        </classpath>
  </junit>
</target>

这是我们的测试类:

package sim;
import java.io.*;
import org.junit.*;
import static org.junit.Assert.*;

public class V {
  public V() {
  }

  @Test
  public void SG() throws IOException,sim.SE,Exception {
    Simulation S = new Simulation();
    S.logger = Simulate.createLogger("log.out","FINEST", false);
    S.stat = Simulate.createLogger("logstat.out","FINEST", false);
    sim.movers.SMover SM = new sim.movers.SMover(S);
    SM.TB();
  }
}

1 个答案:

答案 0 :(得分:0)

尝试设置fork="yes"而不是fork="no"。我能够使用fork="no"重现您的问题,但不能使用fork="yes"重现您的问题。

我无法告诉你为什么它不能与fork="no"一起使用。我猜想Ant的某种类加载问题。我花了一些时间用谷歌搜索,但我能找到的只有a bug from 2006(我不确定是否相关,因为我在junit4.jar中没有ANT_HOME/lib),以及blog post来自去年7月,其作者提到:

  

注意:如果您忘记将fork属性设置为true,则会收到类似于以下内容的错误消息:
  (与您的错误消息类似)