您的位置:首页 > 编程语言 > Java开发

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

2017-03-10 13:08 344 查看
综述

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);
}

}


结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件测试 java