Lorsque je teste l'exécution d'une méthode qui crée un thread enfant, le test JUnit se termine avant le thread enfant et le tue.
Comment puis-je forcer JUnit à attendre que le thread enfant termine son exécution ?
Lorsque je teste l'exécution d'une méthode qui crée un thread enfant, le test JUnit se termine avant le thread enfant et le tue.
Comment puis-je forcer JUnit à attendre que le thread enfant termine son exécution ?
En Java, essayez d'utiliser CountDownLatch pour que le thread principal attende que le thread enfant soit terminé.
@Test
public void myTest() {
CountDownLatch countDownLatch = new CountDownLatch(1);
new Thread(new Runnable() {
@Override
public void run() {
//write your logic here
countDownLatch.countDown();
}
}).start();
//wait until the child thread completed.
countDownLatch.await();
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.