J'ai des problèmes de test Comment exécuter le code dans le manutention code> code avec robolectrique. Par exemple:
exécutable code> immédiatement? Il ne fonctionne pas avant que mon test ne soit fait exécuter. P> p>
3 Réponses :
Je pense que cela devrait faire un travail: ou s'il existe plusieurs tâches programmées: p> Robolectric.runUiThreadTasksIncludingDelayedTasks();
Pour la version 3.0 Robolectric, vous devez utiliser:
Référence: 2.4 à 3.0 Guide de mise à niveau P> org.robolectric.robolectric.flushforegroundThreadschédale code>
ou de
org.robolectric.shadows.shadowlooper.runuthreadtasks code>
org.robolectric.shadows.shadowlooper.RunUTithReadTasksincludingDelayedTasks code> p>
à Robolectrie 3.0, vous pouvez faire
HandlerThread thread = new HandlerThread("test"); thread.start(); Handler handler = new Handler(thread.getLooper()); handler.post(new Runnable() {run(){ int a = 0; }}; ((ShadowLooper) ShadowExtractor.extract(thread.getLooper())).idle(); // this will execute line int a = 0;
Avez-vous appelé client.dosomestuff () sur le fil principal ou le fil d'arrière-plan?