我想写一个基于 android.test.ActivityUnitTestCase 的简单单元测试。由于测试很简单,我希望执行时间很短。但测试至少需要 6 秒。
该测试测试了 Google 教程中的一个简单应用程序。这是我的测试:
public class MainActivityUnitTest extends ActivityUnitTestCase<MainActivity> {
public MainActivityUnitTest() {
super(MainActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),
MainActivity.class);
startActivity(intent, null, null);
}
public void testNextActivityWasLaunchedWithIntent() {
Button sendButton =
(Button) getActivity()
.findViewById(com.bjoerne.aroundtheworldvisualizer.R.id.send);
sendButton.performClick();
Intent intent = getStartedActivityIntent();
assertNotNull("Intent was null", intent);
final String payload =
intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
assertEquals("", payload);
}
}
我在 Eclipse 中选择了“Run as -> Android JUnit Test”。那是对的吗?但随后似乎需要一个 android 虚拟设备 (AVD)。如果 AVD 尚未启动,它将开始测试(并且测试需要一分钟)。但即使 AVD 已经在运行,它似乎在执行测试之前已被检查或初始化,这需要几秒钟。
我不需要为 ActivityUnitTestCase 运行 AVD,对吗?有没有办法加速测试执行?