1-1:在myeclipse中使用Junit單元測試

進入myeclipse,隨便創建一個項目:如圖

右擊SuanShu.java,選擇new》Junit text cast(如果在new中找不到,就直接new》other中搜索),跳出如下框:

點擊finish(我這裏的finish是黑色,原因是我之前就建好了)。

在生成的SuanShuTest測試類中寫入:

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Test;

public class SuanShuTest {

	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		Assert.assertEquals(2, suanshu.add(1, 1));
	}

}

在SuanShu類的代碼爲:

package cn.itcast.jisuan;

public class SuanShu {
public int add(int a,int b){
	int c =a+b;
	return c;
}
}

在“Assert.assertEquals(2, suanshu.add(1, 1));”這段代碼的意思就是判定結果,判定輸出值和期望值是否一致,如果一致,就表明代碼沒有問題,如果不一致,就說明代碼有問題或者代碼的邏輯結構不是我們所需要的。在這裏“2”表示的是期望值,”suanshu.add(1, 1)“則是輸出值。

如果不用判斷結果,可以直接輸出:

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Test;

public class SuanShuTest {

	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		//Assert.assertEquals(2, suanshu.add(1, 1));
		System.out.print(suanshu.add(1, 1));
	}

}

測試:右擊SuanShuTest ,選擇Run Ass>>Junit Text就可進行單元測試。

圖下圖:

解析如上圖所示。

在我們進行測試的時候,有時測試代碼重複性過高,在測試的時候過於繁瑣,比如多次請求輸入輸出流以及釋放資源。這時候,junit提供兩個註解來幫我們處理這些繁瑣的代碼,分別是@before和@after。@before是在單元測試之前先執行的代碼塊;@after是在單元測試之後執行的代碼,主要用於資源的釋放,而且在@Text單元測試代碼塊出錯的時候,@after註解的代碼塊也會執行。

package cn.itcast.jisuan;

import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class SuanShuTest {
	 @Before
	    public void init(){
	        System.out.println("init...");
	    }

	    /**
	     * 釋放資源方法:
	     *  在所有測試方法執行完後,都會自動執行該方法
	     */
	    @After
	    public void close(){
	        System.out.println("close...");
	    }
	@Test
	public void test() {
		SuanShu suanshu= new SuanShu();
		System.out.print(suanshu.add(1, 1));
		Assert.assertEquals(3, suanshu.add(1, 1));
		
	}

}

通過學習Junit代碼測試模塊,我們可以省去測試帶來的麻煩,使我們的更加高效的編寫代碼以及測試代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章