从Java类调用JUnit ANT任务



我正在尝试使用以下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.jarant-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

相关内容

  • 没有找到相关文章

最新更新