zoukankan      html  css  js  c++  java
  • 第一次实验 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。

  • 相关阅读:
    纠结我一上午的asp.net操作mysql问题
    C#术语【转自MSDN】
    asp.net新手必知必会——我们为什么要用asp.net
    图片在浏览器中底部对齐———解决方法之一
    asp.net做的网站比asp做的站慢?
    我是一个可悲的程序员
    今天离开职场去过自己的潇洒人生
    asp.net应用程序重新启动
    asp.net分页解决方法
    80. 删除有序数组中的重复项 II
  • 原文地址:https://www.cnblogs.com/GSONG/p/5293251.html
Copyright © 2011-2022 走看看