测试与封装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); } }
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; } }
(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"); } }
运行结果
测试开始:
测试运算符
测试全部
可以测试出程序基本无错误,有更深的错误会在后面在一次更新~~~
因为单元测试这边没什么把握,先从简单开始,还不敢用自己的程序来测试,终有一天会用到我自己的程序进行测试