我想写一个基于 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,对吗?有没有办法加速测试执行?