zoukankan      html  css  js  c++  java
  • 结对作业2--单元测试

    coding:https://coding.net/u/zachary0320/p/git_test3/git

    结对小组:(201421153022201421138411

    题目描述:

    把计算模块提取出来,单独创建一个类。
    针对提取出来的计算类的接口函数做单元测试。
    

    单元测试代码:

     CalcTest.java

    	int[] x = {3,4};
    	int[] y = {5,9};
    	int[] z = {3,0};
    	
    	
    	@Before
    	public void setUp() throws Exception {
    	}
    
    	@After
    	public void tearDown() throws Exception {
    	}
    
    	@Test
    	public void testCalc() {
    		Calc c = new Calc();
    	}
    
    	@Test
    	public void testPlusIntInt() {
    		Calc.plus(2, 3);
    		Calc.plus(5, 0);
    		Calc.plus(2, 7);
    	}
    
    	@Test
    	public void testSubtractIntInt() {
    		Calc.subtract(2, 3);
    		Calc.subtract(5, 0);
    		Calc.subtract(2, 8);
    	}
    
    	@Test
    	public void testMultiplyIntInt() {
    		Calc.multiply(2, 3);
    		Calc.multiply(5, 0);
    		Calc.multiply(4, 8);
    	}
    
    	@Test
    	public void testDivide() {
    		Calc.divide(x, y);
    		Calc.divide(z, y);
    		Calc.divide(x, z);
    	}
    
    	@Test
    	public void testYuefen() {
    		Calc.yuefen(x);
    		Calc.yuefen(y);
    		Calc.yuefen(z);
    	}
    
    	@Test
    	public void testCreate() {
    		Calc.create();
    	}
    
    	@Test
    	public void testPlusIntArrayIntArray() {
    		Calc.plus(x, y);
    		Calc.plus(x, z);
    		Calc.plus(y, z);
    	}
    
    	@Test
    	public void testSubtractIntArrayIntArray() {
    		Calc.subtract(x, y);
    		Calc.subtract(y, z);
    		Calc.subtract(x, z);
    	}
    
    	@Test
    	public void testMultiplyIntArrayIntArray() {
    		Calc.multiply(x, y);
    		Calc.multiply(x, z);
    		Calc.multiply(y, z);
    	}
    
    	@Test
    	public void testDivide2() {
    		Calc.divide2(x, y);
    		Calc.divide2(x, z);
    		Calc.divide2(y, z);
    	}
    
    	@Test
    	public void testJustify() {
    		Calc.justify(x);
    		Calc.justify(y);
    		Calc.justify(z);
    	}
     
    
    	 
    //
    //	@Test
    //	public void testGenerate() {
    //		Calc.generate();
    //	}
    
    	@Test
    	public void testNumber() {
    		Calc.Number(50);
    	}
    
    	@Test
    	public void testOperatorGenerate() {
    		Calc.operatorGenerate(50);
    	}
    

      CalcFunction.java

    public class CalcFunctionTest {
    	static int N = 6;
    	static String[] titles  ;		//存储题目
    	static String[] answers ;		//存储答案
    	static String[] yourAnswers  ;		//存储回答的答案
    	CalcFunction a = new CalcFunction();
    	@Before
    	public void setUp() throws Exception {
    		
    	}
    
    	@After
    	public void tearDown() throws Exception {
    	}
    
    	
    
    	@Test
    	public void testGenerate() {
    		a.generate(5);
    	}
    
    }
    

      代码测试截图:

    eclemma代码覆盖结果:

    实验小结:

    1、在代码的部分条件语句分支还没有覆盖到,

    2、之前都没有做过单元测试,做完之后才发现其实在很多函数有很多问题,比如generate()函数里有变量参数还需要定义,在调用函数时没有仔细去考虑是要定义为static还是用setter,getter调用,

    3、单元测试让修改代码也更清楚,条理更清晰,能准确发现一些函数的毛病


    psp:

     

  • 相关阅读:
    iOS 获取项目名称及版本号
    Xcode 使用自定义字体
    自己制作精美的App Store 软件截屏
    iOS 数据持久性存储-对象归档
    iOS 数据持久性存储-属性列表
    好长时间没回来了,回归本位!
    VBA删除表格最后一行
    VBA表格单元格替换文字
    VBA添加表格
    oracle语句
  • 原文地址:https://www.cnblogs.com/zachary0320/p/6638203.html
Copyright © 2011-2022 走看看