Je suis nouveau à JUnit et Android et une bonne documentation de test pour travailler avec Android est difficile à trouver.CalledFromWrongThreadException s'exerçant JUnit tests sur Android
J'ai un projet de test avec des classes qui étendent ActivityInstrumentationTestCase2. Des tests simples pour examiner l'état de l'interface graphique (ce qui est activé, les positions relatives, etc.) fonctionnent comme prévu. Cependant lorsque je tente d'effectuer des actions de clic sur un bouton, l'exception de thread incorrecte est levée. Quelqu'un sait comment contourner ce problème?
Par la suite, est-ce que quelqu'un a de bonnes suggestions pour des ressources gratuites sur le test ou TDD pour Android? J'utilise Eclipse/MotoDev.
Merci
je peux obtenir différentes traces de défaillance selon la façon dont j'invoque chaque bouton, mais dont une pour référence:
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)
Voici la routine d'installation simple():
@Override
protected void setUp() throws Exception {
super.setUp();
TigersLair activity=getActivity();
mGoBtn = (Button) activity.findViewById(R.id.go);
mGoBtn.performClick();
}
Peu importe si j'effectue le clic dans setUp() ou le test actuel.