Robolectric進行Android單元測試

Robolectric進行Android單元測試

測試驅動android開發

在安卓模擬器或者真機上跑測試用例速度很慢。構建、部署、啓動app,一般須要花費一分鐘或者更久。這不是TDD(測試驅動開發)模式.Robolectric提供一種更好的方式。java

可能你一直嘗試在java IDE中使用junit或者testng直接跑測試用例,可是一直報java.lang.RuntimeException: Stub!異常。android

這個異常是由於在jdk中沒有android運行環境。而如今Robolectric這款android單元測試工具,模擬了android sdk中的jar包,能夠直接在jvm中運行測試用例,這樣就大大節省了時間。一個Robolectric測試用例以下:app

// Test class for MyActivity    @RunWith(RobolectricTestRunner.class)    public class MyActivityTest {    @Test    public void clickingButton_shouldChangeResultsViewText() throws Exception {    Activity activity = Robolectric.buildActivity(MyActivity.class).create().get();    Button pressMeButton = (Button) activity.findViewById(R.id.press_me_button);    TextView results = (TextView) activity.findViewById(R.id.results_text_view);    pressMeButton.performClick();    String resultsText = results.getText().toString();    assertThat(resultsText, equalTo("Testing Android Rocks!"));    }    }

SDK,Resource和Native Method模擬

繼續閱讀→

相關文章
相關標籤/搜索