在Android Studio中对类执行Junit测试,而无需初始化移动设备/模拟器

时间:2015-06-25 16:14:37

标签: java android android-studio junit

有没有办法在Android Studio中针对特定类执行测试而不将移动设备用作测试环境?我希望测试在我的开发机器上执行。有问题的类不包含任何Android特定代码。

1 个答案:

答案 0 :(得分:1)

这是Android开发中一个非常常见的问题,而Robolectric已经解决了这个问题。这允许您的测试在JVM上运行,因此可以在Android Studio中运行。以下示例来自他们的网站。

@RunWith(RobolectricTestRunner.class)
public class MyActivityTest {

  @Test
  public void clickingButton_shouldChangeResultsViewText() throws Exception {
    MyActivity activity = Robolectric.setupActivity(MyActivity.class);

    Button button = (Button) activity.findViewById(R.id.button);
    TextView results = (TextView) activity.findViewById(R.id.results);

    button.performClick();
    assertThat(results.getText().toString()).isEqualTo("Robolectric Rocks!");
  }
}