對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的頁面中將它改為了“-”
}
