JUnit測試單元框架
junit框架介紹
JUnit ——是一個開發原始碼的Java測試框架,用於編寫和執行可重複的測試。他是用於單元測試框架體系xUnit的一個例項(用於java語言)。主要用於白盒測試,迴歸測試。
junit安裝步驟
- 在http://download.sourceforge.net/junit/ 中下載JUnit包並將Junit壓縮包解壓。
- 新增CLASSPATH環境變數.
- 雙擊“CLASS-PATH”關鍵字新增字串
“?:\Junit4.0\Junti.jar”
(注意,如果已有別的字串請在該
字串的字元結尾加上分號“;”),這樣確定修改後Junit就可以在整合環境中應用了。 - 對於IDE環境,對於需要用到的JUnit的專案增加到lib中,其設定不同的IDE有不同的設定 。
junit使用規範
使用junit的時候,不應該把它和業務邏輯程式碼放在一起,應該新建一個類來做測試.
- 測試類命名
規則: 被測試的類的類名+Test
如:LoginTest
- 測試用例的命名
規則:test+用例方法的名稱
如:testSum
- 測試程式的包名定義規範
規則 被測試的類的包名前加上test.
如: test.com.lee.util
測試資料的準備方案
有三種方案可以選擇:
- 在程式中直接寫入測試資料.
- 在輸出資料項不多的情況下可以採用
- 使用junitpack包中的InputDataUtil工具類
- 需要加上
import junitpack InputDataUtil;
這個測試方案要求把測試資料放在一個XML檔案中:
- ...
junit註解
使用junit註解,需要時用junit4版本.
- 註解引數
- @Test:使用該註解方法為測試方法,自動能夠識別並執行
包含兩個引數 :
expected = XXXException.class 期望出現的異常
timeout = xxx 設定程式執行的超時時間.
不能是靜態方法,不能傳形參 - Ignore:被忽略的方法
- Before:在每個測試方法之前被執行
- After: 在每個測試方法之後被執行
- BeforeClass : 在所有測試開始前執行
- AfterClass: 在所有測試開始之後執行
特別注意:
<pre>
setUp(),tearDown(),setUpBeforeClass(),tearDownAfterClass()這四個方法其實就是對應的
@Before、@BeforeClass、@After、@AfterClass這四個註解,
在Junit4開始使用註解時,其實可以替代這四個方法的功能,只是這四個方法是歷史遺留方法,可以考慮使用,也可以直接使用註解替代。
</pre>
assertTrue(...) 引數的值應是true
assertFalse(...) 引數的值應是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>
相關文章
- JUnit單元測試
- Junit 單元測試.
- junit-單元測試
- JUnit 4 單元測試
- Junit單元測試—MavenMaven
- JUnit3.8的Junit單元測試.
- Java單元測試之junitJava
- Junit4單元測試
- 使用JUnit進行單元測試
- 1.13-java單元測試junitJava
- 使用junit單元測試SpringMvcSpringMVC
- Junit 單元測試使用總結
- 實驗三junit單元測試
- 用Junit Framework編寫單元測試Framework
- Java新一代單元測試框架JUnit5速覽Java框架
- Java單元測試之JUnit 5快速上手Java
- Java Junit單元測試(入門必看篇)Java
- 安卓單元測試 (八):Junit Rule 的使用安卓
- Android單元測試(3):JUnit 的使用Android
- JUnit 單元測試斷言推薦 AssertJ
- 用Junit Framework編寫單元測試 (轉)Framework
- JavaScript單元測試框架JavaScript框架
- Google 單元測試框架Go框架
- 單元測試框架 mockito框架Mockito
- Spring單元測試教程(JUnit5+Mockito)SpringMockito
- 單元測試利器Mockito框架Mockito框架
- 前端單元測試框架梳理前端框架
- SpringBoot與單元測試JUnit的結合Spring Boot
- JUnit+Mockito單元測試之打樁when().thenReturn();Mockito
- 單元測試模擬框架Mockito框架Mockito
- jest對react單元測試框架React框架
- junit單元測試時,java.lang.ClassNotFoundException: java.pakc.SimpleTestJavaException
- PHP單元測試框架PHPUnit的使用PHP框架
- Netty 框架學習 —— 單元測試Netty框架
- 測試 之Java單元測試、Android單元測試JavaAndroid
- 單元測試:單元測試中的mockMock
- Springboot整合JUnit5優雅進行單元測試Spring Boot
- 搞定Go單元測試(二)—— mock框架(gomock)GoMock框架