• 测试与封装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时:

    封装测试结果:

  • 相关阅读:
    [Maven实战-许晓斌]-[第二章]-2.2基于UNIX系统安装maven
    [Maven实战-许晓斌]-[第二章]-2.1在Windows上安装maven
    【sonar-block】Use try-with-resources or close this "BufferedInputStream" in a "finally" clause.
    sonar阻断级别错误(block)简单汇总
    让子类使用父类的Logger
    集合的addAll方法--list.addAll(null)会报错--java.lang.NullPointerException
    nice
    ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
    Ubuntu 系统修改root密码后,无需密码亦可登录
    MySQL 查找今年的数据
  • 原文地址:https://www.cnblogs.com/yihou2ni/p/4488546.html
Copyright © 2020-2023  润新知