【发布时间】:2013-10-01 00:18:27
【问题描述】:
我想写一个基于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,对吗?有没有办法加速测试执行?
【问题讨论】:
标签: android eclipse unit-testing junit