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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cceking/article/details/51692010

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

IDE:Eclipse
系统:win7

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

构建类

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

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

然后修改其中的测试方法

@Test
public 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());
   }
} 

展开阅读全文

没有更多推荐了,返回首页