从Java类调用JUnit ANT任务

时间:2014-07-17 20:57:22

标签: java ant junit

我试图使用这个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:\ hudson \ workspace \ FestTesting \ exchange \ build \ build-junit.xml:31:无法创建任务或类型类型:junit。

你们中的任何人都知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

.jar中缺少必需的classpath时,通常会发生此错误。现在,在您的Ant script中,您已通过"classpath"通过:

<junit ...
<classpath refid="classpath" />
...
</junit>

“classpath”<pathelement>可能不完整。确保您已包含JUnit.jarant-junit.jar。像这样的东西:

<path id="classpath">
    ...
    <pathelement location="...\junit.jar" />
    ...
</path>

虽然ant-junit.jar可能会出现$ANT_HOME\lib,但请对其进行验证。 如果缺少,请进行以下更改:

<path id="classpath">
    ...
    <pathelement location="...\junit.jar" />
    <pathelement location="...\ant-junit.jar" />
    ...
</path>

浏览THIS