我正在尝试使用以下java代码从java类运行JUnit ant任务:
File buildFile = new File("build\build-junit.xml");
System.out.println("Running the tests");
Project project = new Project();
project.setUserProperty("ant.file", buildFile.getAbsolutePath());
project.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
project.addReference("ant.projectHelper", helper);
helper.parse(project, buildFile);
project.executeTarget(project.getDefaultTarget());
下面是它试图运行的Ant脚本源代码:http://jpst.it/j6K3(对不起,不便,粘贴在源代码给我的问题)
最后是抛出的异常:
线程"main" C:hudsonworkspaceFestTestingexchangebuildbuild-junit.xml:31:无法创建任务或类型:junit.
你们谁知道我能做些什么来解决这个问题?
此错误通常发生在classpath
中缺少所需的.jar
时。现在,在您的Ant script
中,您通过:
"classpath"
的引用:<junit ...
<classpath refid="classpath" />
...
</junit>
但是"classpath"的<pathelement>
s可以是不完整的。确保包含JUnit.jar
和ant-junit.jar
。像这样:
<path id="classpath">
...
<pathelement location="...junit.jar" />
...
</path>
虽然ant-junit.jar
很可能出现在$ANT_HOMElib
,但还是要验证它。如果缺少,则进行以下更改:
<path id="classpath">
...
<pathelement location="...junit.jar" />
<pathelement location="...ant-junit.jar" />
...
</path>
遍历THIS