zoukankan      html  css  js  c++  java
  • 测试与封装5.2-5.3

    运行环境:Eclipse

    结对同伴:33 王俊凯 

    地址:http://www.cnblogs.com/junkaiwang/

    第二阶段目标 - 通过测试程序和API 接口测试其简单的加减乘除功能。并能看到代码覆盖率。

    第三阶段目标 - 通过测试程序和API 接口测试对于各种参数的支持。

    对超出计算范围的数据进行处理,计算数不能超出-1000到1000,除数不能为0。

    计算类:

    package 软件测试;
    import java.math.*;
    public class Core 
    {
        public int Add(int a,int b) throws Error//加法
        {
            if(a>1000||b>1000||a<-1000||b<-1000)
            {
                throw new Error("数值范围不能超出-1000到1000");
            }
            return a+b;
        }
        public int Subtraction(int a,int b) throws Error//减法
        {
            if(a>1000||b>1000||a<-1000||b<-1000)
            {
                throw new Error("数值范围不能超出-1000到1000");
            }
            return a-b;
        }
        public int multiplication(int a,int b) throws Error//减法
        {
            if(a>1000||b>1000||a<-1000||b<-1000)
            {
                throw new Error("数值范围不能超出-1000到1000");
            }
            return a*b;
        }
        public int Division(int a,int b) throws Error//除法
        {
            if(a>1000||b>1000||a<-1000||b<-1000)
            {
                throw new Error("数值范围不能超出-1000到1000");
            }
            if(b==0)
            {
                throw new Error("除数不能为0");
            }
            return a/b;
        }
    }
    class Error extends Exception
    {
        public Error(String str)
        {
            super(str);
        }
    }

    程序主类:

    package 软件测试;
    
    import java.util.*;;
    
    public class Calculate {
    
        public static void main(String[] args) throws Error {
            // TODO Auto-generated method stub
    
            Scanner sc=new Scanner(System.in);
            Core core=new Core();
            int a,b,d=0;
            long result=0;
            a=(int)(Math.random()*100);
            b=(int)(Math.random()*100);
            String c = null;
            while(d==0)
            {
                System.out.print("请输入运算符:");
                c=sc.nextLine();
                if(c.equals("+")||c.equals("-")||c.equals("*")||c.equals("/"))
                {
                    d=1;
                    break;
                }
                else
                {
                    System.out.println("输入的运算符错误!");
                }
            }
            System.out.print("题目:"+a+""+c+""+b+"=");
            if(c.equals("+"))
            {
                result=core.Add(a, b);
                System.out.print(result);
            }
            else if(c.equals("-"))
            {
                result=core.Subtraction(a, b);
                System.out.print(result);
            }
            else if(c.equals("*"))
            {
                result=core.multiplication(a, b);
                System.out.print(result);
            }
            else if(c.equals("/"))
            {
                result=core.Division(a, b);
                System.out.print(result);
            }
        }
    
    }

    测试类:

    package 软件测试;
    
    import static org.junit.Assert.*;
    
    import org.junit.Test;
    
    public class CoreTest {
    
        Core core=new Core();
        @Test
        public void testAdd() throws Error {
            try{
                int a=core.Add(1,2);
                assertEquals(3,a);
            }
            catch(Error e)
            {
                e.printStackTrace();
            }
        }
    
        @Test
        public void testSubtraction() throws Error {
            try{
                int b=core.Subtraction(4,6);
                assertEquals(-2,b);
                }
            catch(Error e)
            {
                e.printStackTrace();
            }
        }
    
        @Test
        public void testMultiplication() throws Error {
            try
            {
                int c=core.multiplication(4,3);
                assertEquals(12,c);
            }
            catch(Error e)
            {
                e.printStackTrace();
            }
        }
    
        @Test
        public void testDivision() throws Error {
            //fail("Not yet implemented");
            try
            {
            int d=core.Division(12,0);
            assertEquals(3,d);
            }
            catch(Error e)
            {
                e.printStackTrace();
            }
        }
    
    }

    当输入的数据超出-1000到1000时:

    当输入的除数为0时:

    封装测试结果:

  • 相关阅读:
    bzoj 2483: Pku2279 Mr. Young's Picture Permutations -- 钩子公式
    bzoj 3940: [Usaco2015 Feb]Censoring -- AC自动机
    bzoj 1059: [ZJOI2007]矩阵游戏 -- 二分图匹配
    bzoj 1911: [Apio2010]特别行动队 -- 斜率优化
    bzoj 1433: [ZJOI2009]假期的宿舍 -- 最大流
    bzoj 3944: Sum -- 杜教筛
    bzoj 3872: [Poi2014]Ant colony -- 树形dp+二分
    bzoj 1115: [POI2009]石子游戏Kam -- 博弈论
    (三)shiro的认证
    (二)spring初次遇见shiro
  • 原文地址:https://www.cnblogs.com/yihou2ni/p/4488546.html
Copyright © 2011-2022 走看看