在 Android Studio 中对 类 执行 Junit 测试,无需初始化移动设备/模拟器
Execute Junit tests on classes in Android Studio without initialising mobile device / emulator
有没有办法在 Android Studio 中针对特定 class 执行测试,而无需将移动设备用作测试环境?我希望测试在我的开发机器上执行。有问题的 classes 不包含任何 Android 特定代码。
这是 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!");
}
}
有没有办法在 Android Studio 中针对特定 class 执行测试,而无需将移动设备用作测试环境?我希望测试在我的开发机器上执行。有问题的 classes 不包含任何 Android 特定代码。
这是 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!");
}
}