我有一个ActivityInstrumentationTestCase2
执行 Button.click() 的测试。Button 应该启动另一个 Activity 来做一些工作。我认为 Button.performClick() 执行正确,但测试在其他 Activity 执行之前完成。
@UiThreadTest
public void test() {
Intent i = new Intent(this.myActivity, MyActivity.class);
myActivity.startActivity(i);
Button button = (Button) myActivity.findViewById(R.id.button);
button.performClick();
}
我尝试了以下方法,但我认为这是一种解决方法,而不是一个好的解决方案。
public void test() {
Intent i = new Intent(this.myActivity, MyActivity.class);
myActivity.startActivity(i);
Button button = (Button) myActivity.findViewById(R.id.button);
button.performClick();
try {
Thread.sleep(50000);
} catch (InterruptedException e) {
Log.e("MyTest", e.getMessage());
}
}
难道没有更好的办法吗?