3
我是JUnit和Android的新手,很难找到用于Android的良好测试文档。CalledFromWrongThreadException在Android上执行JUnit测试
我有一个扩展ActivityInstrumentationTestCase2类的测试项目。简单的测试来检查GUI的状态(启用的功能,相对位置等)按预期工作。但是,当我尝试执行按钮单击操作时,会抛出错误的线程异常。任何人都知道如何解决这个问题?
作为一个后续,有没有人有任何测试或TDD Android的免费资源的好建议?我正在使用Eclipse/MotoDev。
感谢
我可以根据我如何调用每个按钮不同失败的痕迹,但包括一个在这里以供参考:
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRoot.checkThread(ViewRoot.java:2683)
at android.view.ViewRoot.playSoundEffect(ViewRoot.java:2472)
at android.view.View.playSoundEffect(View.java:8307)
at android.view.View.performClick(View.java:2363)
at com.android.tigerslair.demo1.test.GoTest.setUp(GoTest.java:49)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:430)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
下面是简单的设置()函数:
@Override
protected void setUp() throws Exception {
super.setUp();
TigersLair activity=getActivity();
mGoBtn = (Button) activity.findViewById(R.id.go);
mGoBtn.performClick();
}
无论我在setUp()还是实际测试中执行单击都没关系。