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,所以出现测试报错。


  • 相关阅读:
    CPP Info Memo part3
    在Google搜索结果显示原始链接(转自 月光博客)
    libc 之 locales
    Git 分支管理与本地 repository 创建
    py2exe issue: ImportError: No module named _fontdata_enc_winansi (http://stackoverflow.com/)
    CPP Info Memo (Part 1)
    CPP Info Memo part2
    HOWTO: Increase write speed by 'aligning' FAT32(通过对齐 FAT32 提高U盘访问速度, 转载)
    (转载)Gentoo中文man乱码
    如何选择开源许可证?(转载)
  • 原文地址:https://www.cnblogs.com/yichaoShare/p/8606043.html
Copyright © 2011-2022 走看看