软件测试——Junit、Hamcrest、Eclemma的安装和使用

来源:互联网 发布:jsp 访问数据库 编辑:程序博客网 时间:2024/06/04 19:23

综述
1. JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:
1. 用于测试期望结果的断言(Assertion)
2. 用于共享共同测试数据的测试工具
3. 用于方便的组织和运行测试的测试套件
4. 图形和文本的测试运行器
2. Hamcrest是一个框架,协助编写Java 编程语言的软件测试。它支持创建自定义的断言匹配器,允许定义匹配规则声明。这些匹配器在单元测试框架中使用,如JUnit和jMock。Hamcrest自2012年以来一直被纳入Junit。
3. EclEmma记录在特定程序启动期间执行Java代码的哪些部分。因此覆盖分析总是涉及两个步骤:运行程序,分析覆盖数据。对于可重现的结果,启动的程序通常是自动测试,如JUnit测试。运行覆盖分析就像按下单个按钮一样简单,像现有的运行和调试按钮。覆盖率结果在“ 覆盖率”视图中自动汇总, 并在Java编辑器中突出显示 。
安装Junit
第一种方法:直接使用Eclipse集成的junit 4.1,可以免去下载和配置类库的麻烦。在新建项目的时候点击库选项,然后add library即可。但是不是所有的jar都有自带的,为了更好的学习eclipse的使用,我们可以自己手动引用一下外部的库。


第二种方法:添加外部的jar,首先自己去网上下载相应的包(可以从www.junit.org上下载,也可以从CSDN上搜索);然后在新建的项目上右键——》构建路径——》添加外部文档——》找到你下载的jar包即可
安装Hamcrest
方法同安装Junit的第二种方法
安装Eclemma
打开Eclipse,选择菜单栏“帮助”——》Eclipse Marketplace,搜索“Eclemma”,结果如图:

点击安装即可;使用时,右键项目,出现“Coverage As”选项,即说明Eclemma安装成功,选择一种方式运行即可
过程
在测试用例文件中主要引入Junit中的文件,还要在测试类extends TestCase否则assertEquals()函数运行不了。具体参见代码:
代码
Triangle.java

/** *  */package testJunit;import java.util.Scanner;/** * @author think * */public class Triangle {    /**     * @param args     *///  public static void main(String[] args) {//      while(true){//          System.out.print("请输入三角形的三条边,以空格分开:\n");//          Scanner s = new Scanner(System.in);//          int a = s.nextInt();//          int b = s.nextInt();//          int c = s.nextInt();//          //          System.out.print(check(a, b, c) + "\n");//      }       //  }    public static String check(int a, int b, int c){                String str = "";        if(a == b && b == c){            str = "该三角形为等边三角形";        }else if(a == b || a == c || b ==c){            str = "该三角形为等腰三角形";        }else if(a + b > c && a + c > b && b + c > a){            str = "该三角形为不规则三角形";        }else{            str = "这不是一个三角形";        }        return str;         }}

testCase.java

/** *  */package testJunit;import junit.framework.TestCase; /** * @author think * */public class testCase extends TestCase {    Triangle Tri = new Triangle();    String equilateral = "该三角形为等边三角形";    String isosceles = "该三角形为等腰三角形";    String scalene = "该三角形为不规则三角形";    String nonTri = "这不是一个三角形";    String res;    public void testEquilateral(){        res = Tri.check(1, 1, 1);        assertEquals(equilateral, res);    }    public void testIsosceles(){        res = Tri.check(1, 1, 2);        assertEquals(isosceles, res);    }    public void testScalene(){        res = Tri.check(2, 3, 4);        assertEquals(scalene, res);    }    public void testNonTri(){        res = Tri.check(1, 2, 3);        assertEquals(nonTri, res);    }}

结果

0 0
原创粉丝点击