ANT中的JUnit给出了ClassNotFoundException

时间:2016-05-06 18:18:58

标签: junit ant junit4 ant-junit

我正在尝试在包中运行一个简单的junit。但它继续使用ClassNotFound Exception失败。 我的构建文件如下所示:

<project name="JunitTest" default="test" basedir=".">
<property name="testdir" location="bin" />
<property name="full-compile" value="true" />
<path id="classpath.base"/>
<path id="classpath.test">
  <pathelement location="lib/junit-4.10.jar" />
  <pathelement location="${testdir}" />
  <path refid="classpath.base" />
</path>
<target name="test">
  <junit  fork="no">
     <classpath refid="classpath.test" />
     <formatter type="brief" usefile="false" />
     <test name="Test" />
  </junit>
</target>
</project>

我的Test.java看起来像这样:

package com.org.test.data.mine.board;

import org.junit.Test;

public class Test {

@Test
public void testDummy() {

    System.out.println("Hello");
}

}

这继续失败:

test:
[junit] Testsuite: Test
[junit] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec
[junit]
[junit] Null Test:  Caused an ERROR
[junit] Test
[junit] java.lang.ClassNotFoundException: Test
[junit]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[junit]     at java.lang.Class.forName0(Native Method)
[junit]     at java.lang.Class.forName(Class.java:274)
[junit]
[junit]
[junit] Test Test FAILED

我查看了其他SO帖子,但无法识别问题。帮助!

1 个答案:

答案 0 :(得分:1)

Test class的书面名称存在问题。您需要修改jUnit task以包含FQCN,如下所示:

  <junit  fork="no">
     <classpath refid="classpath.test" />
     <formatter type="brief" usefile="false" />
     <test name="com.org.test.data.mine.board.Test" />
  </junit>