繁体   English   中英

从Java类调用JUnit ANT任务

[英]Calling a JUnit ANT task from a Java Class

我正在尝试使用以下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 (给您带来的不便,很抱歉,粘贴源代码给我带来了问题)

最后是抛出的异常:

线程“主”中的异常C:\\ hudson \\ workspace \\ FestTesting \\ exchange \\ build \\ build-junit.xml:31:无法创建任务或类型:junit。

你们中有人知道我可以采取什么措施解决此问题吗?

classpath中缺少所需的.jar时,通常会发生此错误。 现在,在您的Ant script您已通过以下方式传递了对"classpath"的引用:

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

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

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

但是, $ANT_HOME\\lib可能存在ant-junit.jar ,请进行验证。 如果缺少 ,则进行以下更改:

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

通过这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM