软件测试_JUnit+Ant构建自动的单元测试(1)

来源:互联网 发布:网盘搜索 知乎 编辑:程序博客网 时间:2024/05/01 21:29

JUnit+Ant构建自动的单元测试

IDE:Eclipse
系统:win7

主要用于动态白盒测试,运行代码时对结果进行检查和验证。Eclipse中已经集成了Ant(下载windows版和Linux版)和JUnit,可以在Eclipse中运行。
Ant可以从“Window”–>”Preferences”–>”Ant”修改相应的配置。
JUnit修改路径“Window”–>”Preferences”–>”Java”–>”JUnit”

  • JUnitAnt构建自动的单元测试
      • 构建类
      • 构建测试用例
      • Ant自动化
      • 以main方法运行

构建类

以三角形判断方法为例进行测试

package test;public class Triangle {    /**     *      * 要求:每条边的值应该满足[0,100],非法输入返回-1     * 功能:输入三个整数,判断这三个整数是否可以组成一个三角形的三条边,     *      如果能够组成一个三角形,判断它组成的三角形是正三角形、等腰三角形还是普通的三角形。     *      如果能组成等边三角形,返回结果为3,如果能组成等腰三角形,返回结果为2,     *      如果能组成普通三角形,返回结构为1,如果不能组成三角形,返回结果为0。     *      * @param a 三角形第一条边     * @param b 三角形第二条边     * @param c 三角形第三条边     * @return 三角形类型     *      *      */    public Integer judgeTrangle(int a, int b, int c){        //非法输入        if (a<0 || b<0 || c<0) return -1;        if (a>100 || b>100 || c>100) return -1;        //等边三角形返回3        if ( a==b && b==c) return 3;        //等腰三角形返回2        else if ( a==b || b==c || a==c) return 2;        //三角形返回1        else if (a+b>c && b+c>a && a+c>b) return 1;        //非三角形返回0        else return 0;    }}

构建测试用例

JUnit 4是配合JDK 1.5版本的,与之对应的Ant需要在1.7版本之上。
选择添加JUnit 4(JUnit 5来了!)
项目右键–>”Build Path”–>”Add Library”处添加,又或者如图
添加junit

创建测试用例,最好还是和被测试的类分开
可以从File->New->JUnit Test Case创建,选择相关的类(如这里是Triangle
添加testcase

然后修改其中的测试方法

@Testpublic void testJudgeTrangle() {    //fail("Not yet implemented"); // TODO    Triangle t = new Triangle();    assertEquals(new Integer(0), t.judgeTrangle(3, 4, 5));}

其中的3, 4, 5对应三角形的三边,new Integer(0)为预期结果。

运行
运行Test Case


Ant自动化

首先为项目添加ant脚本
“File”–>”Export”,选择Ant Buildfiles,选择项目,就会自动在项目的根目录下生成build.xml,ant的构建全依赖此。
生成build.xml

它自动地为测试用例生成了task,在cmd中ant TriangleTest就会运行,当然了,必须在当前项目内才行。

    <target name="TriangleTest">        <mkdir dir="${junit.output.dir}"/>        <junit fork="yes" printsummary="withOutAndErr">            <formatter type="xml"/>            <test name="test.TriangleTest" todir="${junit.output.dir}"/>            <classpath refid="UnitTest.classpath"/>        </junit>    </target>

运行测试
build.xml中右键打开,选择“Run As”–>”Ant Build”(第二个),只勾选TriangleTest,然后点击Run运行即可。
效果如图
运行测试用例

同时也自动构建了junitreport这个task用于生成英文版网页形式的测试报告
报告

如果想要将其移植的话,就需要将依赖的jar直接添加到项目中,然后修改其中的classpath
例如
添加jar

不然启动不了
junit运行
ant初始


以main方法运行

新建TestRunner负责调用测试用例,用TestResult收集执行TestCase结果,显示测试结果。

public class TestRunner {   public static void main(String[] args) {      Result result = JUnitCore.runClasses(TestTriangle.class);      for (Failure failure : result.getFailures()) {         System.out.println(failure.toString());      }      System.out.println(result.wasSuccessful());   }} 

0 0
原创粉丝点击