这是我的问题:我有一个 android 应用程序,想测试不同方法的性能。我写了一个android测试项目,第一次运行时测试成功。有时也会在第二次运行它时,但过了一段时间它失败了,尽管我没有更改代码。当我卸载应用程序时,它在第一次运行时再次成功。看来我有一个“活动问题”,因为错误是 java.lang.IllegalStateException。但对我来说,我什至看不到哪个活动(这是否意味着测试项目的应用程序的活动??)而且我不知道如何解决这个问题。
我的测试文件:
several imports..
public class PersonalNetworkTest extends
ActivityInstrumentationTestCase2<PersonalNetworkMainActivity> {
private PersonalNetworkMainActivity mActivity;
public PersonalNetworkTest() {
super(PersonalNetworkMainActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
setActivityInitialTouchMode(false);
mActivity = getActivity();
}
public void testPreConditions2() {
assertTrue(mActivity != null);
assertTrue(mActivity.getPersonalNetworkInstance() != null);
PersonalNetwork network = mActivity.getPersonalNetworkInstance();
String test = "s";
network.addAlter(test);
assertTrue(network.hasAlter(test));
}
protected void tearDown() throws Exception {
super.tearDown();
}
}
控制台给我:测试运行失败:仪器运行因“java.lang.IllegalStateException”而失败
LogCat 的意思是:(我希望这是相关的片段..)
06-12 11:07:19.925: E/AndroidRuntime(31624): FATAL EXCEPTION: main
06-12 11:07:19.925: E/AndroidRuntime(31624): java.lang.IllegalStateException: Can not
perform this action after onSaveInstanceState
06-12 11:07:19.925: E/AndroidRuntime(31624): at
android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327)
06-12 11:07:19.925: E/AndroidRuntime(31624): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
那么有人知道我在做什么错吗?如果能获得一些帮助,我会非常有帮助。在此先感谢。