JUnit单元测试

什么是JUnit

        ①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。
        ②Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
        ③多数Java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。

为什么要使用测试工具

        ①测试框架可以帮助我们对编写的程序进行有目的地测试,帮助我们最大限度地避免代码中的bug,以保证系统的正确性和稳定性。
        ②很多人对自己写的代码,测试时就简单写main,然后sysout输出控制台观察结果。这样非常枯燥繁琐,不规范。缺点:测试方法不能一起运行,测试结果要程序猿自己观察才可以判断程序逻辑是否正确。
        ③JUnit的断言机制,可以直接将我们的预期结果和程序运行的结果进行一个比对,确保对结果的可预知性。

简单例子:

被测试类:

package junit;
/**
 * 加减乘除的简单计算类
 * @author qzkuan
 */
public class Calcuate {
	public int add(int a,int b){
		return a+b;
	}
	public int subtract(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;
	}
}

 测试类:

 1 package junit;
 2 import org.junit.Assert;
 3 import org.junit.Test;
 4 public class CalcuateTest {
 5     Calcuate calcuate;
 6  
 7     @Test
 8     public void testAdd() {
 9         calcuate = new Calcuate();
10         int result = calcuate.add(2, 3);
11         Assert.assertEquals("add error", 5, result);
12         /*
13          * "add error":期望值和实际值不一致时,显示的信息
14          * 5 :期望值
15          * result :实际值
16          */
17     }
18  
19     @Test
20     public void testSubtract() {
21         calcuate = new Calcuate();
22         int result = calcuate.subtract(12, 2); 
23         Assert.assertEquals("subtract error", 10, result);
24     }
25  
26     @Test
27     public void testMultiply() {
28         calcuate = new Calcuate();
29         int result = calcuate.multiply(2, 3);
30         Assert.assertEquals("multiply error", 6, result);
31     }
32  
33     @Test
34     public void testDivide() {
35         calcuate = new Calcuate();
36         int result = calcuate.divide(6, 3);
37         Assert.assertEquals("divide error", 2, result);
38     }
39 }
原文地址:https://www.cnblogs.com/qzkuan/p/11477080.html