Junit4單元測試
步驟
- 1.在工程目錄下新建一個source folder命名為test專門存放測試類
- 在工程上,右鍵->new->Source Folder
- 2.為需要建立測試類的建立測試類
- 在類檔案上,右鍵->new->JUnit Test Case
- 把目錄為新建的test目錄,包名要與被測試類相同
- 可以勾選是否自動生成@BeforeClass;@AfterClass;@Before;@After;註解方法
- 點選,next可以選擇需要測試的方法
- 3.執行測試類裡的一個方法
- 將游標選中該方法,右鍵->Run As->JUnit Test
- 4.執行測試類裡所有方法
- 將游標移出方法名的範圍,右鍵->Run As->JUnit Test
- 5.執行多個測試類裡的所有方法
- a.新建一個測試類,
- b.刪除新建類的所有方法
- c.用@RunWith(Suite.class)註解將runner改為Suite
- d.用@Suite.SuiteClasses()以陣列的方式設定要跑的多個測試類
package com.ztc;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({CalculateTest.class,TaskTest.class})
public class SuiteTest {
}
- 6.執行多組引數測試
- a.更改預設的測試執行器為RunWith(Parameterized.class)
- b.宣告變數存放預期值和測試資料
- c.宣告一個返回值 為Collection的公共靜態方法,並使用@Parameters進行修飾
- d.為測試類宣告一個帶有引數的公共建構函式,並在其中為之宣告變數賦值
- e.執行測試方法,即可完成對多組資料的測試
package com.ztc;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class ParamersTest {
int ans;
int a;
int b;
public ParamersTest(int ans, int a, int b) {
this.ans = ans;
this.a = a;
this.b = b;
}
@Parameters
public static Collection<Object[]> t() {
return Arrays.asList(new Object[][]{
{4,1,2},
{4,2,2},
{3,1,2}
}) ;
}
@Test
public void testAdd() {
assertEquals(ans, new Calculate().add(a, b));
}
}
常見註解
- @Test:將一個普通的方法修飾成為一個測試方法
- @Test(expected=XX.class)
- @Test(timeout=毫秒)
- @BeforeClass:它會在所有的方法執行前被執行,static修飾
- @AfterClass:它會在所有的方法執行結束後被執行,static修飾
- @Before:會在每一個測試方法被執行前執行一次
- @After:會在每一個測試方法執行後被執行一次
- @Ignore:所修飾的測試方法會被測試執行器忽略
- @RunWith:可以更改測試執行器 org.junit.runner.Runner
Test執行流程
[@BeforeClass]->{ ([@Before]->[@Test]->[@After]) … }->[@AfterClass]
相關文章
- 測試 之Java單元測試、Android單元測試JavaAndroid
- 單元測試:單元測試中的mockMock
- 在Eclipse中使用JUnit4進行單元測試(圖文教程一)Eclipse
- 在Eclipse中使用JUnit4進行單元測試(0基礎篇)Eclipse
- [iOS單元測試系列]單元測試編碼規範iOS
- Flutter 單元測試Flutter
- Go單元測試Go
- 單元測試工具
- iOS 單元測試iOS
- 前端單元測試前端
- golang 單元測試Golang
- PHP 單元測試PHP
- phpunit單元測試PHP
- JUnit單元測試
- unittest單元測試
- Junit 單元測試.
- 單元測試真
- 前端測試:Part II (單元測試)前端
- JF +Spring 4 +JUNIT4 測試?Spring
- JavaScript單元測試框架JavaScript框架
- React元件單元測試React元件
- 聊聊前端單元測試前端
- Google 單元測試框架Go框架
- 單元測試 -- mocha + chaiAI
- 單元測試與MockitoMockito
- 單元測試基礎
- Vue單元測試探索Vue
- 單元測試與 PowerMockMock
- junit-單元測試
- Android - 單元測試Android
- 單元測試理解· 1
- 單元測試學習
- android單元測試Android
- [Android] 單元測試Android
- Xcode 單元測試XCode
- JUnit 4 單元測試
- Django單元測試(一)Django
- JUnit測試單元框架框架