【白盒測試】Junit測試(一)

1 JUnit導包

JUnit是Java最基礎的測試框架,主要的作用就是斷言。

使用時需要在app的build.gradle文件裏添加依賴,如下所示:

testImplementation "junit:junit:4.12"

使用testImplementation導入的包,則寫的測試用例需要放在test裏面,如下所示


使用androidTestImplementation導入的包,則寫的測試用例需要放在androidTest裏面。

2 Assert類中主要方法

方法名 方法描述
assertEquals 斷言傳入的預期值與實際值是相等的
assertNotEquals 斷言傳入的預期值與實際值是不相等的
assertArrayEquals 斷言傳入的預期數組與實際數組是相等的
assertNull 斷言傳入的對象是爲空
assertNotNull 斷言傳入的對象是不爲空
assertTrue 斷言條件爲真
assertFalse 斷言條件爲假
assertSame 斷言兩個對象引用同一個對象,相當於“==”
assertNotSame 斷言兩個對象引用不同的對象,相當於“!=”
assertThat 斷言實際值是否滿足指定的條件

注意:上面的每一個方法,都有對應的重載方法,可以在前面加一個String類型的參數,表示如果斷言失敗時的提示。

3 JUnit 中的常用註解

註解名 含義
@Test 表示此方法爲測試方法
@Before 在每個測試方法前執行,可做初始化操作
@After 在每個測試方法後執行,可做釋放資源操作
@Ignore 忽略的測試方法
@BeforeClass 在類中所有方法前運行。此註解修飾的方法必須是static void
@AfterClass 在類中最後運行。此註解修飾的方法必須是static void
@RunWith 指定該測試類使用某個運行器
@Parameters 指定測試類的測試數據集合
@Rule 重新制定測試類中方法的行爲
@FixMethodOrder 指定測試類中方法的執行順序

4 JUnit簡單使用示例

在目錄main/java/XXX/XXX下編寫一個計算的類Calculater,該類有個add方法,代碼如下:

package com.yds.mainmodule.fragment;

/**
 * Created by yds
 * on 2019/8/15.
 */
public class Calculater {
    public int add(int a,int b){
        return a+b;
    }
}

然後在test/java/XXX/XXX目錄下編寫一個測試用例,代碼如下:

package com.example.mainmodule;

import com.yds.mainmodule.fragment.Calculater;

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

/**
 * Created by yds
 * on 2019/8/15.
 */
public class CalculaterTest {
    private Calculater calculater;
    private int a = 3;
    private int b = 4;
    private int sum = 7;
    @Before
    public void setUp(){
        calculater = new Calculater();
    }
    @Test
    public void testAdd(){
        Assert.assertNotNull(calculater);
        int result = calculater.add(a,b);
        Assert.assertEquals(sum,result);
    }
    @After
    public void tearDown(){
        calculater = null;
    }
}

結果與預期相等,用例通過。

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