Robolectric 簡介
<code>Instrumentation</code>與<code>Roboletric</code>都是針對 Android 進行單元測試的框架腰耙,前者在執(zhí)行 case 時候是以 Android JUnit 的方式運行,因此必
須在真實的 Android 環(huán)境中運行(模擬器或者真機),而后者則是以 Java Junit 的方式運行佩番,這里就脫離了對 Android 環(huán)境的依賴,而可以直接將 case 在 JVM 中運行,大贊
,因此很適合將 Roboletric 用于 Android 的測試驅(qū)動開發(fā)槽奕。
新建 Android Project
新建 一個Android 項目( RoboletricDemo ),一路默認房轿,這里就不帖 MainActivity 的代碼粤攒,代碼很簡單,該示例的主界面是一個 TextView囱持,顯示的內(nèi)容為 Hello world!
夯接,界面中還有一個 Button,點擊 Button纷妆,TextView 的內(nèi)容會變?yōu)镠ello xuxu!
盔几,呵呵。掩幢。
配置 Gradle
-
導入相關(guān)的庫文件
//robolectric-test testCompile "org.robolectric:shadows-multidex:3.0"
配置 Build Variants
在 Build Variants 面板中選擇 Unit Tests
現(xiàn)在逊拍,萬事俱備,讓我們開始寫第一個測試吧际邻。首先芯丧,創(chuàng)建一個非常簡單的被測類:Calculator類。
Calculator.java
package com.example.testing.testingexample;
public class Calculator {
public double sum(double a, double b){
return 0;
}
public double substract(double a, double b){
return 0;
}
public double divide(double a, double b){
return 0;
}
public double multiply(double a, double b){
return 0;
}
}
注意
Android Studio提供了一個快速創(chuàng)建測試類的方法世曾。只需在編輯器內(nèi)右鍵點擊Calculator類的聲明缨恒,選擇Go to > Test,然后"Create a new test…"
在打開的對話窗口中,選擇JUnit4和"setUp/@Before"骗露,同時為所有的計算器運算生成測試方法岭佳。
這樣,就會在正確的文件夾內(nèi)(app/src/test/java/com/example/testing/testingexample)
生成測試類框架椒袍,在框架內(nèi)填入測試方法即可驼唱。下面是一個示例:
Calculator.java
package com.example.testing.testingexample;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
private Calculator mCalculator;
@Before
public void setUp() throws Exception {
mCalculator = new Calculator();
}
@Test
public void testSum() throws Exception {
//expected: 6, sum of 1 and 5
assertEquals(6d, mCalculator.sum(1d, 5d), 0);
}
@Test
public void testSubstract() throws Exception {
assertEquals(1d, mCalculator.substract(5d, 4d), 0);
}
@Test
public void testDivide() throws Exception {
assertEquals(4d, mCalculator.divide(20d, 5d), 0);
}
@Test
public void testMultiply() throws Exception {
assertEquals(10d, mCalculator.multiply(2d, 5d), 0);
}
}
運行單元測試
終于到運行測試的時候了藻茂!右鍵點擊CalculatorTest
類驹暑,選擇Run > CalculatorTest。也可以通過命令行運行測試辨赐,在工程目錄內(nèi)輸入:
./gradlew test
查看報告
執(zhí)行完測試之后优俘,會在 app/build/reports/tests/
目錄下生成相應地測試報告,使用瀏覽器打開