junit框架介紹
JUnit ——是一個開發(fā)源代碼的Java測試框架狞贱,用于編寫和運行可重復的測試。他是用于單元測試框架體系xUnit的一個實例(用于java語言)停撞。主要用于白盒測試滋将,回歸測試屑彻。
junit安裝步驟
- 在http://download.sourceforge.net/junit/ 中下載JUnit包并將Junit壓縮包解壓。
- 添加CLASSPATH環(huán)境變量.
- 雙擊“CLASS-PATH”關鍵字添加字符串
“?:\Junit4.0\Junti.jar”
(注意润梯,如果已有別的字符串請在該
字符串的字符結尾加上分號“过牙;”),這樣確定修改后Junit就可以在集成環(huán)境中應用了纺铭。 - 對于IDE環(huán)境寇钉,對于需要用到的JUnit的項目增加到lib中,其設置不同的IDE有不同的設置 舶赔。
junit使用規(guī)范
使用junit的時候扫倡,不應該把它和業(yè)務邏輯代碼放在一起,應該新建一個類來做測試.
- 測試類命名
規(guī)則: 被測試的類的類名+Test
如:LoginTest
- 測試用例的命名
規(guī)則:test+用例方法的名稱
如:testSum
- 測試程序的包名定義規(guī)范
規(guī)則 被測試的類的包名前加上test.
如: test.com.lee.util
測試數(shù)據(jù)的準備方案
有三種方案可以選擇:
- 在程序中直接寫入測試數(shù)據(jù).
- 在輸出數(shù)據(jù)項不多的情況下可以采用
- 使用junitpack包中的InputDataUtil工具類
- 需要加上
import junitpack InputDataUtil;
這個測試方案要求把測試數(shù)據(jù)放在一個XML文件中:
- ...
junit注解
使用junit注解,需要時用junit4版本.
- 注解參數(shù)
- @Test:使用該注解方法為測試方法,自動能夠識別并執(zhí)行
包含兩個參數(shù) :
expected = XXXException.class 期望出現(xiàn)的異常
timeout = xxx 設定程序運行的超時時間.
不能是靜態(tài)方法,不能傳形參 - Ignore:被忽略的方法
- Before:在每個測試方法之前被執(zhí)行
- After: 在每個測試方法之后被執(zhí)行
- BeforeClass : 在所有測試開始前執(zhí)行
- AfterClass: 在所有測試開始之后執(zhí)行
特別注意:
<pre>
setUp(),tearDown()撵溃,setUpBeforeClass()疚鲤,tearDownAfterClass()這四個方法其實就是對應的
@Before、@BeforeClass缘挑、@After集歇、@AfterClass這四個注解,
在Junit4開始使用注解時语淘,其實可以替代這四個方法的功能诲宇,只是這四個方法是歷史遺留方法,可以考慮使用惶翻,也可以直接使用注解替代姑蓝。
</pre>
assertTrue(...) 參數(shù)的值應是true
assertFalse(...) 參數(shù)的值應是false
assertNull(...) 應是null值
assertNotNull(...) 應是非null的值
assertSame(...) 使用==比較的結果為true(表示同一個對象)
AssertNotSame(...) 使用==比較的結果為false
assertEquals(...) 兩個對象equals()方法比較結果為true
代碼示例
package com.lee;
import org.junit.Test;
public class junitDemo {
public static void main(String[] args) {
}
public static int sum(){
int x = 5;
int y = 10;
return x + y;
}
}
package com.lee;
import org.junit.*;
public class junitDemoTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testSum() {
int max = junitDemo.sum();
Assert.assertSame(15, max);
Assert.assertEquals(new String("haha"), "haha");
Assert.assertNotNull(max);
Assert.assertTrue(true);
}
}
給個github follow me的鏈接,上面有很多初學者可供學習的資料,項目.
<a>https://github.com/SuperZee</a>