测试与封装5.1

 我的队友是52吴舒婷,博客内容主要是白盒黑盒的测试数据分析

我们通过简单的四则运算来进行程序的测试与封装

我们主要完成的是事情

(1)封装:将运算要运用的方法进行封装

文件主要有三个:Calculate(存放运算要用得到方法)、CalcuTest(主要main方法)、Test(测试)

Calculate中主要的方法:Cal()运算、input()输入、judge判断()

 代码如下:CalcuTest(主要main方法)

package Test.src.src;

import java.util.Scanner;


public class CalcuTest {
    static Scanner sc = new Scanner(System.in);
    static int a=0;
    static int b=0;
    static String cc=new String();
    public static void main(String[] args) 
    {
        Calculate c1=new Calculate();
        c1.input();
        a=c1.a1;
        b=c1.b1;
        cc=c1.cc1;
        
         int total=c1.Cal(a,b,cc);
        System.out.println("计算结果是:"+total);        
        
    }
    
}
View Code

 Calculate(存放运算要用得到方法)

package Test.src.src;

import java.util.Scanner;


public class Calculate {
    
    static Scanner sc = new Scanner(System.in);
    int a1=0;
    int b1=0;
    String cc1=new String();
    static public int Cal(int a,int b,String cc)
    {
        cc=judge(cc);
        int result=0;
        
        if(cc.equals("+"))
            result=a+b;
        else if(cc.equals("-"))
            result=a-b;
        else if(cc.equals("*"))
            result=a*b;
        else if(cc.equals("/"))
            
            try{
         result=a/b;
        }catch(Exception e)//对输入的数值进行异常处理
        {
            System.out.println("\t    除数不能为0");
        }
                 
        else 
            System.out.println("\t请输入正确运算符!请重新执行");
         
     
            
         return result;
    }
    
    public void input()
    {
        
        try{
        System.out.println("运算符是 +,-,*,/"); 
        
        System.out.println("请输入第一个数:");
         a1=sc.nextInt();
        System.out.println("请输入第二个数:");
         b1=sc.nextInt();
        System.out.println("请输入运算符:");
         cc1 = sc.next();
         
        }catch(Exception  e)
    {
        System.out.println("输入数值出现异常");
    }
    }
    
    
    static public String judge(String cc2)
    {
        boolean a=false;
        if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/"))
            a=true;
        while(a==false)
        {
            
         System.out.println("\t非法运算符");
         System.out.println("请输入运算符:");
         cc2 = sc.next();
         if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/"))
                a=true;
    }
        return cc2;
    }
    
}
View Code

 

(2)测试

A、进行四个运算的基本测试

B、进行除法除数不能为0的测试

C、对数的数值规范进行测试

D、对输入的运算符是否正确的测试

 

package Test.src.src;



import static org.junit.Assert.*;

import org.junit.Test;


public class Tests {

    @Test
    public void testAdd()//测试加法基本功能
    {
        
        int result=new Calculate().Cal(3,3,"+");
        assertEquals(6,result);
    }
    
    
    @Test
    public void testSub()//测试减法基本功能
    {
        
        int result=new Calculate().Cal(6,3,"-");
        assertEquals(3,result);
    }

    @Test
    public void testMuti()//测试乘法基本功能
    {
        int result=new Calculate().Cal(3,3,"*");
        assertEquals(9,result);
    }
    
    @Test
    public void testDivi()//测试除法基本功能
    {
        int result=new Calculate().Cal(3,3,"/");
        assertEquals(1,result);
    }
    
    @Test
    public void testDiviZero()//测试除法出书不为零基本功能
    {
        Calculate c1=new Calculate();
        c1.Cal(3, 0,"/");
    }
    
    
    @Test
    public void testIlligal()//
    {
        Calculate c1=new Calculate();
        c1.input();
        
    }
    
    @Test
    public void testcalStr()//
    {
        Calculate c1=new Calculate();
        c1.Cal(3,5,"k");
        
    }


}
View Code

运行结果
测试开始:

测试运算符

测试全部

可以测试出程序基本无错误,有更深的错误会在后面在一次更新~~~

因为单元测试这边没什么把握,先从简单开始,还不敢用自己的程序来测试,终有一天会用到我自己的程序进行测试

posted @ 2015-04-30 18:49  51冯美欣max  阅读(238)  评论(3编辑  收藏  举报