• Java笔记18:JUnit单元测试


    1 从http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20AND%20a%3A%22junit%22

    上下载最新的junit包。

     

    2 建立名为JunitTest的Java Project,把下载的junit-4.12.jar添加到工程中

     

     

    3 建立com.abc的package,在该package下建立Calculator.Java,用来实现加减乘除运算。

     

    [java] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. package com.abc;  
    2.    
    3. publicclass Calculator {  
    4.      
    5.    publicint add(inta,intb) {  
    6.        returna +b;  
    7.    }  
    8.    
    9.    publicint minus(inta,intb) {  
    10.        returna - 1;  //故意写错,方便测试  
    11.    }  
    12.      
    13.    publicint divide(inta,intb) {  
    14.        returna /b;  
    15.    }  
    16.      
    17.    publicint mul(inta,intb) {  
    18.        returna *b;  
    19.    }  
    20. }  

     

     

     

     

    4 创建测试

    1)右键点击要测试的类Calculator.java,“New”,“JUnit Test Case”

     

     

    2)这里有四个方法可选:setUpBeforeClass()和setUp()是用于测试之前的准备工作,区别在于setUpBeforeClass()是针对整个类的,只执行一次,setUp()是针对方法的,每个测试方法被执行之前都会先执行setUp();tearDownAfterClass()和tearDown()是用于测试之后释放资源的,区别在于tearDownAfterClass()是针对整个类的,只执行一次,tearDown()是针对方法的,每个测试方法被执行后都会执行tearDown()。

       这里勾选setUpBeforClass()。

     

     

    3)这里可以选择要测试的方法。把四个运算方法都选上。

     


     

    4)点击finish后生成的代码如下图所示

     

     

    5)编写测试类代码

     

    [java] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. package com.abc;  
    2.    
    3. importstatic org.junit.Assert.*;  
    4.    
    5. importorg.junit.Before;  
    6. importorg.junit.Test;  
    7.    
    8. publicclass CalculatorTest {  
    9.    Calculatorcal;  
    10.      
    11.    @Before  
    12.    publicvoid setUp()throws Exception{  
    13.        cal =newCalculator();  
    14.    }  
    15.    
    16.    @Test  
    17.    publicvoid testAdd() {  
    18.        intres =cal.add(20, 10);  
    19.        assertEquals("加法错误",res, 30);  
    20.    }  
    21.    
    22.    @Test  
    23.    publicvoid testMinus() {  
    24.        intres =cal.minus(20, 10);  
    25.        assertEquals("减法错误",res, 10);  
    26.    }  
    27.    
    28.    @Test  
    29.    publicvoid testDivide() {  
    30.        intres =cal.divide(20, 10);  
    31.        assertEquals("除法错误",res, 2);  
    32.        res =cal.divide(20, 0);  
    33.    }  
    34.    
    35.    @Test  
    36.    publicvoid testMul() {  
    37.        intres =cal.mul(20, 10);  
    38.        assertEquals("乘法错误",res, 200);  
    39.    }  
    40.    
    41. }  


     

    5 开始测试

    右键点击Calculator,“Run As”,“JUnitTest”,报initializationError的错误

     

    这个错误是因为少了junit-4.12.jar的两个依赖包:hamcrest-core-1.3.rc2.jar和hamcrest-library-1.3.rc2.jar。

     

    从网络上下载这两个包并添加到工程中:

     


    重新进行单元测试,结果如下:

     

    上述结果显示了两个方法是正确的,一个方法是计算结果错误,另一个方法是编译错误。

     

    点击testMinus,可以查看错误信息为计算结果应该为10却计算成了19。

     

     

        点击testDivide,可以看到错误信息为除数不能为0。

  • 相关阅读:
    Linux centos7 安装 phpMyAdmin
    centos7安装显示中文
    js限制按钮每隔一段时间才能再次点击
    PHPMailer 发送邮件
    jquery click事件中的return false
    安装composer
    生成目录树查看目录结构
    VMware桥接模式下虚拟机ping主机不通
    编译U-Boot时command not found的解决方法
    强制删除文件(夹)的方法
  • 原文地址:https://www.cnblogs.com/grimm/p/6732513.html
Copyright © 2020-2023  润新知