Junit測試框架
阿新 • • 發佈:2019-02-05
JUnit是一個java語言的單元測試框架。
一、簡易JUnit測試方法
直接在方法前面加上標示 @Test ,對方法右鍵選擇run as->JUnit Test 即可(在eclipse開發環境中)。
注意的是:測試成功後記得刪除掉@Test註解,被測試的方法不能是static修飾的,不能帶有形參。
二、正式JUnit測試方法
新建一個測試程式 JUnit Test Case,在其Class under test當中選擇需要測試的類就可以了。
例如,我們編寫一個需要測試的程式:
package com.junit;
/**
* Description:
* 需要測試的類
*
* @author lee
* */
public class JunitDemo {
/**
* Description:
* 需要被測試的方法
*
* @param a 被加數
* @param b 加數
*
* @return a+b a和b的相加結果
* */
public int sum(int a,int b){
return a+b;
}
}
編寫相應的測試程式(命名規範為:被測試類的名字+Test,test+被測試方法的名字。):
package com.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
* Description:
* 測試類
*
* @author lee
* */
public class JunitDemoTest {
/**
* Description:
* 測試JunitDemo類的sum方法
*
* */
@Test
public void testSum() {
//讓測試方法自動判斷是否符合預期結果
//1、判斷字串可以使用 Assert.assertEqual();
//2、判斷是否為null可以使用Assert.assertNull();
//3、判斷是否為真可以使用Assert.asserTure();
//Assert.assertSame(int expect,int actuall)底層是用==實現的。
Assert.assertSame(2,new JunitDemo().sum(1, 1));
System.out.println("正在測試sum方法...");
}
//BeforeClass
@Before
public void before(){
System.out.println("正在準備測試環境...");
}
//BeforeClass
@After
public void after(){
System.out.println("正在清理測試環境...");
}
}
如果測試一個方法時候需要準備測試環境的方法和清除測試環境的方法。在兩個方法之前,加上相應的@Before和@After註解,當測試方法的時候,會自動呼叫兩個方法。就可以避免在業務邏輯當加上兩個方法了。@Before、@After在每一個被測試的方法測試時都會被呼叫一次。
當同時測試幾個方法的時候,只需要呼叫一次準備環境和清除測試環境的方法的時候。只要將標示改成相應@BeforeClass(必須是靜態的方法)和@AfterClass(必須是靜態的方法)就可以了。