Eclipse下用Ant运行JUnit

来源:互联网 发布:淘宝分销平台下载 编辑:程序博客网 时间:2024/05/22 22:55

Ant是一个基于JAVA的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用。本文以自动调用JUnit测试为例,讲解使用方法。

首先在Eclipse下建立项目JUnitUnderAnt,按照博客《JUnit工具使用》的步骤建立一个项目以及其测试代码。经测试代码正确,JUnit测试通过。其代码结构如下:

2012-09-15  11:18               477 .classpath

2012-09-15  11:11               383 .project

2012-09-15  11:11    <DIR>          .settings

2012-09-14  22:24    <DIR>          bin

2012-09-14  22:03             1,298 build.xml

2012-09-15  11:11    <DIR>          JUNIT_HOME

2012-09-15  11:11    <DIR>          lib

2012-09-15  11:11    <DIR>          src

在项目下建立build.xml文件,这个文件存储了Ant工具自动化部署的代码。其代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="junit">
    <property name="run.classpath" value="bin"></property>
    <property name="run.srcpath" value="src"></property>
    <property name="test.srcpath" value="src"></property>
    <property name="test.report" value="report"></property>
    <property name="lib.dir" value="lib" />
    <path id="compile.path">
        <fileset dir="${lib.dir}">
            <include name="***.jar" />
                </fileset>
            </classpath>
            <formatter type="plain" />
            <batchtest fork="yes"
                todir="${test.report}/framework-${DSTAMP}-${TSTAMP}">
                <fileset dir="${test.srcpath}">
                    <include name="**/*Test.java" />
                </fileset>
            </batchtest>
        </junit>
    </target>
</project>

这里解释下代码含义:

Property定义了build.xml中常用到的变量,统一定义起来有助于修改和确保一致性,其后定义了两个target,分别为complicejunitComplice这个target使用javac标签定义了需要编译执行的两个java文件以及类文件地址。Junittargetmkdir定义了新建目录的信息,二junit标签则定义了需要执行的JUnit测试。这里formatter定义测试输出信息为文本信息,存储在report目录里。

首先需要定义Ant自动化部署的执行步骤,在build.xml文件右击选择Run As->第二个Ant Build,在弹出的窗口中选择点选需要的target名。再点击运行即可。以后只需要点击第一个Ant Build就可以运行自动部署了。

因为添加了JUnit的自动测试,Ant不能自动发现JUnit测试需要的类,所以这里需要制定以下。在Eclipse下选择window->preferences->Ant->Runtime->Classpath标签下的Ant Home Entries选择Add External JARs可以选择Eclipse的插件保中的org.junit4包中的junit.jar导入即可。如果报类没有找到的错,可能需要把JUnit测试代码的书写方法和类改为第三版,而AntJUnit的类为第四版。即:测试代码使用JUnit3编写方法:测试类继承自extends TestCase,不能使用@Test等标签,测试方法以test开头。而Ant编译环境依照上文导入JUnit4包即可。

参考

Ant的安装配置 http://www.chedong.com/tech/ant.html

eclipse中使用Ant执行JUnit http://www.blogjava.net/cerulean/archive/2007/02/08/98863.html 这个连接比较清晰,内容可用。