第一次实验 Junit简单test三角形的小程序

  1 使用Junit首先要导入两个jar包,分别是hamcrest-all-1.3.jar和junit-4.12.jar。下载后,导入即可。

  2 安装eclemma。首先下载下来,然后拷贝到ecilipse安装目录的dropins文件夹下,删除ecilipse安装目录下的update文件,然后重启ecilipse,当发现ecilipse上有这样一个按钮时,说明Emma安装成功。

  3 接下来编写test代码。与src同级新建一个source folder,在两个source folder下都新建pacage,两个pacage命名相同(比如lab1),在src的lab1下新建一个.java文件,calculate.java,里面的内容如下

package lab1;

public class calculate {
    private static int result = 0;
    public void triangle(int a,int b,int c)
    {
        if(a<=0 || b<=0 || c<=0)
        {
            result = 0;//边长必须大于0
        }
        else
        {
            if(((a+b)>c) && ((a+c)>b && (b+c)>a))
            {
                if((a == b) &&(a == c))
                {
                  result = 3;//等边
                }
                if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b))
                {
                    result = 2;//等腰
                    
                }
                if(a!=b && a!=c && b!=c)
                {
                    result = 1;//普通
                }
            }
            
            else
            {
                result = 0;//不满足两边之和大于第三边的不是三角形
            }
        }
        
    }
    
    
    public int getReuslt(){
        return result;
    }
    
        public void clear(){
        result = 0;
    }

}

 

这是用来判断三角形类型的java类。

 

在test的lab1下新建testcal.java,用来写测试程序

 

package lab1;
import static org.junit.Assert.*;
import org.junit.Test;
public class testcal {
    
    private static calculate cal = new calculate();
    @Test
    public void testTriangle(){
        
    cal.triangle(5, 5, 5);
    assertEquals(3, cal.getReuslt());
    cal.triangle(5, 5, 6);
    assertEquals(2, cal.getReuslt());
    cal.triangle(3, 4, 5);
    assertEquals(1, cal.getReuslt());
    cal.triangle(12, 5, 5);
    assertEquals(0, cal.getReuslt());
    }
    

}

运行结果如下

这个测试数据的结果和预期相同,说明此测试用例没有找出程序的错误。绿色部分为corvered。

 

 

 

 

上图是当我们故意写错一个test用例时,(6,5,5)应该是等腰,预期是2,不是0.(2代表等腰,0代表不是三角形),运行后,出现一个failure。

posted @ 2016-03-18 18:44  郭松  阅读(3783)  评论(0编辑  收藏  举报