對Android中的Java代碼進行單元測試(一)


對Android中的Java代碼進行單元測試(一)

一個app完成后都會需要測試,所以今天我們來了解下單元測試!!!

第一步:首先來看下我們的Java有什么包

第一個包為com.example.one,它主要是用來寫布局邏輯一些代碼的編輯等

第二個包為com.example.zyl.one(androidText)與第三個包com.example.zyl.one(text)才是我們今天的重點!

第二個包與第三個包都是都是關於測試的包!但區別在於第二個是主要用於測試UI的組件的包。
而第三個包測試的是純JAVA代碼!而今天我們主要學習的就是如何測試純JAVA代碼。

第二步:新建一個Java類,類名為Calculate.

並對其進行編輯,下面來一個簡單的小測試

public class Calculate {//四個方法
 
    public double sum(double a,double b){

        return a+b;

    }
    public double substract(double a,double b){

        return a-b;

    }
    public double divide(double a,double b){

        return a/b;

    }
    public double multiply(double a,double b){

        return a*b;//返回的是double類型的

    }
 }

第三步:在第三個包中新建一個測試類,又擊Calculate(類名)選中它后會有一個下拉菜如圖所示

選擇第二個Creatu New Text,因為我已經新建過一個測試類了...

此時彈出一個對話框,選中我們剛剛寫的四個方法


單擊OK之后便可以在我們的第三個包中看到有CalculateTest類了

第四步:對CalculateTest頁面進行編輯

  public class CalculateTest {

    private Calculate calculate;//首先來定義一個類

    @Before
    public void setUp() throws Exception {

   
        calculate=new Calculate(); //對其進行實例化

    }

     下面有四個方法就是我們在Calculate頁面中寫的四個方法

      assertEquals斷言 這是應用非常廣泛的一個斷言,它的作用是比較實際的值和用戶預期的值是否一樣

    @Test
    public void textSum() throws Exception {

      6代表的是sum(1d,5d)中的兩數相加和
      d代表的是double類型(返回值類型)

        assertEquals(6d,calculate.sum(1d,5d),0);

    }

    @Test
    public void textSubstract() throws Exception {

      9代表的是substract(19d,10d中的兩數相減的差
     d代表的是double類型(返回值類型)
      下面一樣的了...
     assertEquals(9d,calculate.substract(19d,10d),0);

    }

    @Test
    public void textDivide() throws Exception {

        assertEquals(6d,calculate.divide(36,6),0);

    }

    @Test
    public void textMultiply() throws Exception {

        assertEquals(36d,calculate.multiply(6d,6d),0);

    }

 }

最后寫完之后我們來進行運行下

看到了嗎?此時會出現一行綠色,說明我們寫的正確才會在測試時顯示綠條來!那反之呢?

現在我們在Calculate的頁面中來改下測試數據

 public double sum(double a,double b){
        return a-b;//將原本的“+”改為“-”
    }

此時再來運行下

看報紅了,原因是什么呢?這時可以雙擊一下藍色字體便跳到出錯的地方來

 @Test
    public void textSum() throws Exception {

       //此時就變成了兩數相減了(1-5=-4了)不是我想要的6,所以出錯了

        assertEquals(6d,calculate.sum(1d,5d),0);//這里是相加的6是我們想要的值,但我們在Calculate的頁面中將它改為了“-”
   

    }

今天到這就結束了!希望有所幫助~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM