Java3:JUnit单元测试

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

上下载最新的junit包。

 

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

Java3:JUnit单元测试_第1张图片 


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

[java]  view plain  copy
  1. package com.abc;  
  2.    
  3. public class Calculator {  
  4.      
  5.    public int add(int a,int b) {  
  6.        return a + b;  
  7.    }  
  8.    
  9.    public int minus(int a,int b) {  
  10.        return a - 1;  //故意写错,方便测试  
  11.    }  
  12.      
  13.    public int divide(int a,int b) {  
  14.        return a / b;  
  15.    }  
  16.      
  17.    public int mul(int a,int b) {  
  18.        return a * b;  
  19.    }  
  20. }  

Java3:JUnit单元测试_第2张图片 

 

创建测试类

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

Java3:JUnit单元测试_第3张图片


2)这里有四个方法可选

  setUpBeforeClass()setUp()是用于测试之前的准备工作。区别在于setUpBeforeClass()是针对整个类的,只执行一次;setUp()是针对方法的,每个测试方法被执行之前都会先执行setUp()

  tearDownAfterClass()tearDown()是用于测试之后释放资源的。区别在于tearDownAfterClass()是针对整个类的,只执行一次;tearDown()是针对方法的,每个测试方法被执行后都会执行tearDown()

  这里勾选setUpBeforClass()。

Java3:JUnit单元测试_第4张图片 


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

Java3:JUnit单元测试_第5张图片


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

Java3:JUnit单元测试_第6张图片 


5)编写测试类代码

[java]  view plain  copy
  1. package com.abc;  
  2.    
  3. import static org.junit.Assert.*;  
  4.    
  5. import org.junit.Before;  
  6. import org.junit.Test;  
  7.    
  8. public class CalculatorTest {  
  9.    Calculator cal;  
  10.      
  11.    @Before  
  12.    public void setUp()throws Exception{  
  13.        cal = new Calculator();  
  14.    }  
  15.    
  16.    @Test  
  17.    public void testAdd() {  
  18.        int res = cal.add(2010);  
  19.        assertEquals("加法错误",res, 30);  
  20.    }  
  21.    
  22.    @Test  
  23.    public void testMinus() {  
  24.        int res = cal.minus(2010);  
  25.        assertEquals("减法错误",res, 10);  
  26.    }  
  27.    
  28.    @Test  
  29.    public void testDivide() {  
  30.        int res = cal.divide(2010);  
  31.        assertEquals("除法错误",res, 2);  
  32.        res =cal.divide(200);  
  33.    }  
  34.    
  35.    @Test  
  36.    public void testMul() {  
  37.        int res = cal.mul(2010);  
  38.        assertEquals("乘法错误",res, 200);  
  39.    }  
  40.    
  41. }  

开始测试

右键点击CalculatorTest“Run As”“JUnitTest”,报initializationError的错误Java3:JUnit单元测试_第7张图片

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

 

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

Java3:JUnit单元测试_第8张图片


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

Java3:JUnit单元测试_第9张图片

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

 

点击testMinus,可以查看错误信息为计算结果应该为10却计算成了19Java3:JUnit单元测试_第10张图片


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

Java3:JUnit单元测试_第11张图片

你可能感兴趣的:(项目管理维护)