在安卓模拟器或者真机上跑测试用例速度很慢。构建、部署、启动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!")); } }