天天看點

【drp 11】使用Junit簡單測試接口方法一、Junit簡介二、使用過程三、總結

一、Junit簡介

JUnit是一個Java語言的單元測試架構。它由Kent Beck和Erich Gamma建立,逐漸成為源于Kent Beck的sUnit的xUnit家族中最為成功的一個。 JUnit有它自己的JUnit擴充生态圈。多數Java的開發環境都已經內建了JUnit作為單元測試的工具。

JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試架構(regression testing framework)。Junit測試是程式員測試,即所謂白盒測試,因為程式員知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套架構,繼承TestCase類,就可以用Junit進行自動測試了。

二、使用過程

2.1,首先,下載下傳JUnit的jar包,引入到項目中

project——properties——java build path——libraries——add external jars或者說就直接将jar包拷到jar檔案庫中!

2.2,建立一個測試檔案夾,存放測試類

備注;就跟.NET中,建立一個類庫一樣,不建也可以,但是建立一個專門的測試檔案夾,這樣結構上比較明确。

【drp 11】使用Junit簡單測試接口方法一、Junit簡介二、使用過程三、總結

2.3,編寫測試類(繼承TestCase),執行測試方法。

例如,想要測試UserManager類裡面的方法:

UserManager類(被測試的類):

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.hibernate;

public class UserManager {

	public void add(String username){
		System.out.println("UserManager.add()"+username);
	}
	
	public void del(String username){
		System.out.println("UserManager.del()"+username);
	}
	
	public String findUserById(String userId){
		return "Tom";
	}
}
</span>
           

UserMangerTest類(測試類):

直接在測試檔案夾的測試包下面,建立一個類,這個類繼承TestCase類:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.hibernate;

import junit.framework.Assert;
import junit.framework.TestCase;

public class UserManagerTest extends TestCase {

	public void testAdd(){
		UserManager userManager=new UserManager();
		userManager.add("Jack");
		System.out.println("UserManagerTest.testAdd()");
	}
	
	public void testDel(){
		UserManager userManager=new UserManager();
		userManager.del("Andy");
		System.out.println("UserManagerTest.testDel()");
	}
	
	public void testFindUserById(){
		UserManager userManager=new UserManager();
		String username=userManager.findUserById("0001");
		System.out.println(username);
		String expected="Tom";
		Assert.assertEquals(expected, username);
	}
}</span>
           

使用斷言,判斷實際值和期待值,其測試結果:

【drp 11】使用Junit簡單測試接口方法一、Junit簡介二、使用過程三、總結
【drp 11】使用Junit簡單測試接口方法一、Junit簡介二、使用過程三、總結

三、總結

測試的重要性,不用多說。但是,測試的習慣,對于我個人來說,還需要進一步的加強。JUnit測試,比之前做的.NET的單元測試,感覺要簡單很多。是以,從今天起,養成測試代碼的好習慣,雖然可能會增加一些負擔或者壓力,但我相信,做好測試,帶來的效果一定是有益的!