zoukankan      html  css  js  c++  java
  • 利用Junit实现eclipse单元测试


    在eclipse中使用Junit进行单元测试


    今天学会了用Junit在eclipse中进行单元测试,代码的测试工作,在整个软件开发中占有总要的地位,无论是代码开发阶段,还是代码维护阶段。另外边开发边测试的这种模式,同样也
    会大大的提高开发效率。话不多说,先进行一个简单的Junit测试小demo。


    • 一、eclipse运行界面

    eclipse运行界面


    • 二、编写测试类代码
    package com;
    
    public class Calculate {
        /**
    	 * 
    	 * @param 你是毅强吧
    	 * @param 2018/3/19
    	 * @return
    	 */
    	public int add(int a, int b) {
            return a + b;
        }
    
        public int substract(int a, int b) {
            return a - b;
        }
    
        public int multiply(int a, int b) {
            return a * b;
        }
    
        public int divide(int a, int b) {
            return a / b;
        }
    }
    

    这里我们建立Calculate类,并且在Calculate类中建立add(),substract(),multiply(),divide()
    四个方法用来做测试函数。


    • 三、手动编写测试类
    package com;
    
    import static org.junit.Assert.*;
    
    import org.junit.Test;
    
    public class CalculateTest {
        @Test
    	public void add() {
    		assertEquals(8,new Calculate().add(3,5));
    	}
    }
    

    在测试函数中,由于我们手动编写测试函数,只写出add()
    函数进行测试,其余的测试函数会在自动生成中具体给出。


    • 四、测试步骤之手动编写

      • 1.添加Junit

      添加Junit

      • 2.测试运行

      测试运行

      • 3.测试结果

      测试结果


    • 五、测试步骤之自动生成

      • 1.添加自动生成

      添加自动生成

      • 2.填写对应名称

      填写对应名称

      • 3.选择测试方法

      选择测试方法

      • 4.自动生成的测试类代码段

        package com;
        
        import static org.junit.Assert.*;
        
        import org.junit.Test;
        
        public class CalculateTest {
        
            @Test
        	public void testAdd() {
        		fail("Not yet implemented");
        	}
        
        	@Test
        	public void testSubstract() {
        		fail("Not yet implemented");
        	}
        
        	@Test
        	public void testMultiply() {
        		fail("Not yet implemented");
        	}
        
        	@Test
        	public void testDivide() {
        		fail("Not yet implemented");
        	}
        
        }
        
      • 5.改写自动生成代码段

          ```java
          package com;
          
          import static org.junit.Assert.*;
          
              import org.junit.Test;
          
          public class CalculateAutoTest {
        
           @Test
          public void testAdd() {
          	assertEquals(10,new Calculate().add(3,7));
          }
        
          @Test
          public void testSubstract() {
          	assertEquals(3,new Calculate().substract(5, 2));
          }
        
          @Test
          public void testMultiply() {
          	assertEquals(20,new Calculate().multiply(2, 10));
          }
        
        	@Test
        	public void testDivide() {
        		assertEquals(10,new Calculate().divide(1, 10));
        	}
         
         }
        ```
        
      • 6.测试结果

      测试结果

      注意:由于在除法函数时,1/10的结果不为10,所以出现测试报错。


  • 相关阅读:
    oracle数据库导出与导入
    Mysql导入表信息[Err] 1067
    Golang--不定参数类型
    (转)Docker容器的重启策略及docker run的--restart选项详解
    (转)Golang--使用iota(常量计数器)
    Golang--匿名变量
    Golang--Hello World
    Ubuntu Server16.04 配置网卡
    U盘安装ubuntu 16.04 遇到 gfxboot.c32:not a COM32R image boot 的解决方法
    ipfs私链服务
  • 原文地址:https://www.cnblogs.com/yichaoShare/p/8606043.html
Copyright © 2011-2022 走看看