在安卓模擬器或者真機上跑測試用例速度很慢。構建、部署、啓動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!")); } }